summaryrefslogtreecommitdiff
path: root/language/l2_rules.ott
AgeCommit message (Collapse)Author
2018-07-10remove obsolete files from language directory.Robert Norton
2017-10-23Aligning Ott generated AST with actual ast.ml. Almost a drop-in replacement ↵Mark Wassell
but problem with aux introduced 'a type variables
2017-10-17Start of alignment of Ott definition with new implementation of type checker ↵Mark Wassell
and syntax changes
2016-11-23Add new type checking file. Small changes to type inference, temporary ↵Kathy Gray
change to printing
2016-09-25Catch formal type system up to reality, in progressKathy Gray
2015-02-24Overloading formal relationKathy Gray
2015-02-18All existing type rules in line with implementation (and no more red)Kathy Gray
Still to do: type rules for register aliases and relation for overloading selection
2015-02-18expression type checking inline with rules, lexp still out of date; ↵Kathy Gray
overloading resolution not modelled
2015-02-17Bring type rules more into modern state of type checkerKathy Gray
2014-12-18More type rulesKathy Gray
2014-12-09Some of the type rules for expressionsKathy Gray
2014-12-04ott rules for type checking pattern matchKathy Gray
2014-12-03Type rules unto coercion now represented in ottKathy Gray
2014-02-21Add type annotations to lem grammar, including printing out the annotated ↵Kathy Gray
ast, and extending the interpreter to expect annotations. Annotations and locations are still not used by the interpreter.
2014-01-07lem homs and type headersKathy Gray
2013-12-18More lem homsKathy Gray
2013-12-18Tweak formatting in pretty printer, and resolve bugs.Kathy Gray
Start specifying lem homs for rules.
2013-12-17Convert coerce to a relation that generates a new expression, inserting ↵Kathy Gray
coercion function calls where applicable.
2013-12-16fix l2_rules to grammar updateKathy Gray
2013-12-03Syntax changes per discussion with Peter, as well as L2.ott document clean up.Kathy Gray
Could not at this time return lists to [| |] from [|| ||] as the parser cannot distinguish a cast with enum’s syntactic sugar from the start of a parenthesised list (i.e. ( [|3|] ) And there are still conflicts with moving enums to [3], so those changes can’t be pushed in with current parser technology.
2013-11-29Push syntax changes to type rulesKathy Gray
2013-11-11Merge branch 'new-lem-lib'Gabriel Kerneis
2013-11-09Fix up multiple parses issueKathy Gray
2013-11-08Type system, almost certainly has omissions or flaws I've forgotten, but ↵Kathy Gray
seems to be complete. Will update with corrections as necessary during implementation phase.
2013-11-07Port L2 to new LemGabriel Kerneis
Tests compile and run properly. There is a lot of hackery going on to workaround the rough edges of new Lem. Use at your own risk (you need the "library-format" branch of lem).
2013-11-07Most of the function type systemKathy Gray
2013-11-01Moved metatheory grammars into l2_rules.ottKathy Gray
Added val extern specification to language, parser, printer, and interpreter Added various def level type system support, expressions type system in place Except for assignment
2013-10-30Type coercions and let expressionsKathy Gray
2013-10-25More type rulesKathy Gray
2013-10-23Thread type environment through expressions because of block adding new ↵Kathy Gray
variables, say in each branch of an if, that we want to be visible beyond it.
2013-10-22More type systemKathy Gray
2013-10-18Typeing rules for patterns and easy expressionsKathy Gray
2013-09-09Fixes bugs in pretty printer to generate legal lem syntax; split ott grammar ↵Kathy Gray
and rules for lem ast generation; created a new directory for the lem interpreter and moved the Lem ast to it.