| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2016-01-06 | Add new assert expression to Sail | Kathy Gray | |
| This splits the former functionality of exit into errors, which should now use assert(bool,option<string>), and a means of signalling actions such as instruction-level exceptions, interrupts, or other features that impact the ISA. The latter will now be tracked with an effect escape, and so any function containing exit and declared pure will generate a type error. WARNING: ARM spec will not build with this commit until I modify it. MIPS spec will not build with this commit until modified. | |||
| 2015-12-17 | First bit of gluing mips onto interpreter and eventually ppcmem infrastructure | Kathy Gray | |
| 2015-12-14 | Adding new location constructor for location of generated terms | Kathy Gray | |
| 2015-11-24 | Add BE_escape effect when an E_exit is seen | Kathy Gray | |
| Close #20 | |||
| 2015-10-19 | progress on lem backend | Christopher Pulte | |
| 2015-10-08 | Add another internal let for Christopher | Kathy Gray | |
| 2015-10-07 | Start expanding annot for more refined effect tracking | Kathy Gray | |
| 2015-09-24 | Parameterise the rewriter's for multiple different rewritings | Kathy Gray | |
| Add a new internal node for moving assignments into scope-preserving expressions that more explicitly define the scope | |||
| 2015-06-24 | Support new memory write events in the sail front end and pretty printer | Kathy Gray | |
| Events are eamem to signal the memory address to write to and wmv to pass the value to write | |||
| 2015-05-13 | Add dynamic footprint dependency check event/outcome | Kathy Gray | |
| Also fix type checker bug in not reporting modifications to parameter values | |||
| 2015-03-26 | Add subtraction to nexp grammar (removing the need to do a + (-1 * b)) | Kathy Gray | |
| Fix up parsing on 2** precedence Fix errors on type variables in function definition | |||
| 2015-02-17 | Bring type rules more into modern state of type checker | Kathy Gray | |
| 2015-02-13 | Actually use new dependency information in generation of lem/etc. | Kathy Gray | |
| Also stop rewriting code in the pretty printer, instead move it all into a new general rewriting pass | |||
| 2015-01-12 | Add specialised support for numeric singleton types (i.e. what used to be ↵ | Kathy Gray | |
| range<'N,'N>) Non-sugar syntax is -- forall Nat 'N. atom<'N> Sugar syntax is -- [: 'N :] Also begin adding pp support for generating ocaml from ast types. | |||
| 2014-12-03 | Type rules unto coercion now represented in ott | Kathy Gray | |
| 2014-11-27 | Start having a manual of sorts. At least specify the built in functions | Kathy Gray | |
| (list not complete) | |||
| 2014-09-30 | Add type annotations to funcls to track effects and constraints from one ↵ | Kathy Gray | |
| function-clause | |||
| 2014-07-29 | A file can now declare that a default order is either inc or dec, and this ↵ | Kathy Gray | |
| will be reflected in short hand type syntax, inc is still the default if undeclared So: default order dec register bit[32] t (* Declares t as a decreasing vector, starting at 31 on the left and decreasing to 0 *) default order inc register bit[32] o (* Declares o as an increasing vector, starting at 0 on the left and increasing to 31 *) It is presently possible to change the default mid-file; this is almost certainly bad and I will turn it into an error soon. | |||
| 2014-07-18 | Writing to concatenated aliases | Kathy Gray | |
| 2014-07-08 | Extend language to support register aliases and to support interrupts, traps ↵ | Kathy Gray | |
| and the like. | |||
| 2014-06-26 | Adding better support for unspecified values in indexed vectors | Kathy Gray | |
| Also begining to add support for nondeterministic blocks and cleaning up some of the Many warnings on pattern matches | |||
| 2014-06-25 | Add support for memory barrier | Kathy Gray | |
| 2014-06-25 | Add support for actions that read just a slice or single bit of a register | Kathy Gray | |
| 2014-06-04 | Fixup type coercions and overloading | Kathy Gray | |
| Reduce the number of implicit coercions we're doing, expanding overloading and fixing up types of functions. Warning: test_power does not run as not all overloaded funcitons are implemented Warning: vector concatenation does not pretty print to sail source yet | |||
| 2014-05-14 | More interface update for connecting externally (interp_interface provides ↵ | Kathy Gray | |
| functions for connecting the interpreter to a memory model) Also adding default values to index vectors for supporting sparse vectors/maps | |||
| 2014-04-08 | Reduce redundant information in AST | Kathy Gray | |
| 2014-04-02 | Solve more constraints; fix up test suite bugs uncovered by solving more ↵ | Kathy Gray | |
| constraints. Clean up Lem output a little for readability while debugging. | |||
| 2014-04-01 | Allow negative "nat" internally | Gabriel Kerneis | |
| to_num and to_vec probably still need to be fixed | |||
| 2014-03-27 | Check simple constraints (i.e. ones using only constants). | Kathy Gray | |
| Changes syntax of tuple type from * to , so that nexps of the form 8 * 'n can be supported in the parser, which was apparently not true before. | |||
| 2014-03-26 | More steps towards solving and using constraint information | Kathy Gray | |
| 2014-03-03 | Fixing assorted bugs. Adding ability to put a type on the identifier being ↵ | Kathy Gray | |
| assigned to in assignments. | |||
| 2014-02-28 | Correct bug in parsing and handling a['a:'b] types | Kathy Gray | |
| 2014-02-21 | Add 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-02-18 | Add function's name for external tag, using register when a register | Kathy Gray | |
| 2014-02-18 | Adding explicit order to for loops | Kathy Gray | |
| 2014-02-14 | update syntax of vector slicing. | Kathy Gray | |
| 2014-02-12 | Change nat to natural in ott | Kathy Gray | |
| Type checking now recurses through assign, but doesn’t do the proper checks yet | |||
| 2014-01-07 | lem homs and type headers | Kathy Gray | |
| 2013-12-17 | Convert coerce to a relation that generates a new expression, inserting ↵ | Kathy Gray | |
| coercion function calls where applicable. | |||
| 2013-12-10 | Fixed bug in interpreter | Kathy Gray | |
| 2013-12-03 | Syntax 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-29 | Push syntax changes to type rules | Kathy Gray | |
| 2013-11-28 | Updated syntax with working examples | Kathy Gray | |
| 2013-11-22 | Syntax 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-07 | Port L2 to new Lem | Gabriel 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-07 | Most of the function type system | Kathy Gray | |
| 2013-11-01 | Moved metatheory grammars into l2_rules.ott | Kathy 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-25 | More type rules | Kathy Gray | |
| 2013-10-23 | Thread 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-23 | Don't export list of types to ML AST | Gabriel Kerneis | |
