summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-12-13Fix effect annotation pretty-printingGabriel Kerneis
There is also a bug for parsing effect annotations (in fundecl). But for some reason, my fix for the parser does not work: test/test2.sail still refuses to parse (chokes on "effect pure"), even with "Effect" added to parser.mly.
2013-12-10Fixed bug in interpreterKathy Gray
2013-12-06Output test name on startGabriel Kerneis
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-29minor syntax fixupsKathy Gray
2013-11-28Updated syntax with working examplesKathy Gray
2013-11-27More front-end passes for type identifiersKathy Gray
2013-11-22Syntax changes per discussions on Thursday.Kathy Gray
First pass parser to identify type names is in progress (current test files fail, will correct once pre-parser is in place)
2013-11-21Begin tiny conversionGabriel Kerneis
2013-11-20Remove workaround in test3Gabriel Kerneis
2013-11-20Fixed the parsing of applicationKathy Gray
2013-11-12Define and test addition in libraryGabriel Kerneis
Notice the need for double parentheses in test/test3.sail, because the interpreter does not perform curryfication automatically (only the first parameter in kept with List_extra.head): add ((1, 3)) (* works *) add (1, 3) (* fails, equivalent to: add (1) *) Fortunately enough, infix functions work correctly by default. A dirty quickfix would be easy, but I'm not sure at which level this should be addressed properly (interpreter? typing? etc.).
2013-11-11Merge branch 'new-lem-lib'Gabriel Kerneis
2013-11-11Remove workaround for a bug fixed in LemGabriel Kerneis
2013-11-11Remove lem-lib hackGabriel Kerneis
Lem has now switched to the new library by default (remember to "make ocaml-libs" in Lem to build it).
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-07Stub for external callsGabriel Kerneis
2013-11-07Most of the function type systemKathy Gray
2013-11-05De-infix operator before looking it up in the interpreterGabriel Kerneis
2013-11-05Parsing of infix operatorsGabriel Kerneis
The interpreter is broken for infix calls (fails to find the relevant function, either internal or external).
2013-11-05Support parsing for extern callsGabriel Kerneis
2013-11-05Clean-up build-related filesGabriel Kerneis
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-29gave Jan write access to repo and added him to email-diffPeter Sewell
created l3-to-l2 directory added notes01 describing the initial plan we just talked about
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-23Don't export list of types to ML ASTGabriel Kerneis
2013-10-22More type systemKathy Gray
2013-10-18Typeing rules for patterns and easy expressionsKathy Gray
2013-10-16Basic MEM and register implementation for interpreterGabriel Kerneis
This is extremely naive, and does not support slices.
2013-10-16Clean up action pretty-printingGabriel Kerneis
2013-10-15Resume interpreter after actionsGabriel Kerneis
At the moment, writes are ignored and reads always return unit.
2013-10-15Add id to register actionsGabriel Kerneis
2013-10-15Test for value-returning blocksGabriel Kerneis
2013-10-15Add returning value to blockKathy Gray
2013-10-14Test read/write reg/mem syntaxGabriel Kerneis
2013-10-14Test function returnGabriel Kerneis
2013-10-14Fix pattern match so that P_id is selected when P_app has no parametersKathy Gray
2013-10-14Run main() to execute testsGabriel Kerneis
Tests do not pass because of weird pattern-matching errors in the interpreter.
2013-10-14interp: report function name on pattern-matching errorGabriel Kerneis
2013-10-14Pretty-print interpeter valuesGabriel Kerneis
2013-10-14Add src/lem_interp to .merlinGabriel Kerneis
2013-10-11Supporting all expressions, although vector cacentation pattern matching can ↵Kathy Gray
only match simple patterns (until type information is available).
2013-10-10Run interpreterGabriel Kerneis
Forgotten because of a wrong .gitignore.
2013-10-10Another stupid testGabriel Kerneis
2013-10-10Fix fundecl and block Lem pretty-printingGabriel Kerneis