| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2017-07-20 | Handle guarded patterns in monomorphisation | Brian Campbell | |
| 2017-07-19 | Better pretty printing for sail functions with no inline type annotations | Alasdair Armstrong | |
| Also added some additional helper functions in type_check_new.mli and changed real literals slightly | |||
| 2017-07-18 | Add Lem pretty-printer for new typechecker | Thomas Bauereiss | |
| 2017-07-18 | Added pretty-printing support for real literals | Alasdair Armstrong | |
| 2017-07-18 | Added real number literals to sail, to better support full ASL translation | Alasdair Armstrong | |
| 2017-07-17 | Added pattern guards to sail | Alasdair Armstrong | |
| Introduces a when keyword for case statements, as the Pat_when constructor for pexp's in the AST. This allows us to write things like: typedef T = const union { int C1; int C2 } function int test ((int) x, (T) y) = switch y { case (C1(z)) when z == 0 -> 0 case (C1(z)) when z != 0 -> x quot z case (C2(z)) -> z } this should make translation from ASL's patterns much more straightforward | |||
| 2017-07-17 | Fix some corner cases | Thomas Bauereiss | |
| 2017-07-15 | Add version of rewriter for new typechecker | Thomas Bauereiss | |
| 2017-07-14 | Extend literal matching in monomorphisation | Brian Campbell | |
| 2017-07-14 | Generalise matching a little in monomorphisation | Brian Campbell | |
| 2017-07-13 | Avoid recent OCaml library function | Brian Campbell | |
| 2017-07-13 | Added some code to check if function return types in function clauses and ↵ | Alasdair Armstrong | |
| val specs are the same | |||
| 2017-07-13 | Monomorphisation size limits | Brian Campbell | |
| 2017-07-13 | Monomorphisation now splits vectors | Brian Campbell | |
| 2017-07-13 | Make new-tc monomorphisation actually work | Brian Campbell | |
| 2017-07-13 | Couple of fixes for old-tc monomorphisation | Brian Campbell | |
| 2017-07-13 | Add basic translation of monomorphisation to the new type checker | Brian Campbell | |
| 2017-07-13 | Typechecker now inserts val specs into AST when it infers them | Alasdair Armstrong | |
| 2017-07-13 | Modified MIPS model so it typechecks with the new typechecker | Alasdair Armstrong | |
| 2017-07-13 | Improved type inference for let statements and assignments with type ↵ | Alasdair Armstrong | |
| annotated patterns and lexps Added get_enum to type checker interface | |||
| 2017-07-12 | Various small changes | Alasdair Armstrong | |
| * Experimented with using list<bit> to clean up manually monomorphised code in MIPS tlb * Added option -dtc_verbose to control verbosity of new typechecker * Allowed functions with val specs to omit their type declarations | |||
| 2017-07-12 | Remove old interface file | Brian Campbell | |
| 2017-07-12 | Merge branch 'sail_new_tc' of https://bitbucket.org/Peter_Sewell/sail into ↵ | Alasdair Armstrong | |
| sail_new_tc | |||
| 2017-07-12 | Removed inital_check_full_ast | Alasdair Armstrong | |
| 2017-07-12 | Fixed parser to parse 2** nexp expressions properly | Alasdair Armstrong | |
| This introduces some shift/reduce and reduce/reduce conflicts, but I don't think these matter. | |||
| 2017-07-12 | Add annotations to raw bitvector slices | Thomas Bauereiss | |
| 2017-07-12 | Merge | Thomas Bauereiss | |
| 2017-07-12 | Add checks for variable identifiers in pattern subsumption | Thomas Bauereiss | |
| 2017-07-12 | Added vector range l-expressions and additional tests | Alasdair Armstrong | |
| 2017-07-11 | Merge branch 'sail_new_tc' of https://bitbucket.org/Peter_Sewell/sail into ↵ | Alasdair Armstrong | |
| sail_new_tc | |||
| 2017-07-11 | Various typechecker improvements: | Alasdair Armstrong | |
| * Fixed a bug where non-polymorphic function return types could be incorrect * Added support for LEXP_memory AST node * Flow typing constraint generation for all inequality operators * Better support for increasing vector indices in field access expressions | |||
| 2017-07-11 | Fix missing vector append constraints in old type checker | Brian Campbell | |
| 2017-07-10 | Bugfixes and testing new checker on the MIPS spec | Alasdair Armstrong | |
| 2017-07-10 | Added tests for union constructor matching | Alasdair Armstrong | |
| 2017-07-10 | Merge remote-tracking branch 'origin/word' into sail_new_tc | Alasdair Armstrong | |
| 2017-07-10 | Adder pattern matching for union types | Alasdair Armstrong | |
| 2017-07-10 | Further performance improvements to typechecker | Alasdair Armstrong | |
| Added code to solve basic constraints without passing them to Z3. This results in roughly another 5x speedup. | |||
| 2017-07-10 | Performance improvements to type checker | Alasdair Armstrong | |
| Filter the possible casts by only attempting those which reasonably match the surrounding type environment. This results in about a 5x performance improvement. | |||
| 2017-07-10 | Reduce functions during constant propagation under reasonable circumstances | Brian Campbell | |
| 2017-07-10 | Support some variable patterns in monomorphisation | Brian Campbell | |
| 2017-07-07 | Warn when we can't monomorphise a constructor application | Brian Campbell | |
| 2017-07-07 | Correct variable mapping when splitting constructor patterns for ↵ | Brian Campbell | |
| monomorphisation | |||
| 2017-07-07 | Implement basic monomorphisation of constructors | Brian Campbell | |
| 2017-07-06 | Testing new typechecker on MIPS spec | Alasdair Armstrong | |
| Also: - Added support for foreach loops - Started work on type unions - Flow typing can now generate constraints, in addition to restricting range-typed variables - Various bugfixes - Better unification for nexps with multiplication | |||
| 2017-07-05 | Fixed several unification bugs | Alasdair Armstrong | |
| 2017-07-05 | Added split_on_char as a utility function in Util.ml, and replaced usage in ↵ | Alasdair Armstrong | |
| sail.ml Current REMS install script and Jenkins CI server is on an older ocaml which doesn't have this function in String. | |||
| 2017-07-05 | Merge remote-tracking branch 'origin/word' into sail_new_tc | Alasdair Armstrong | |
| 2017-07-05 | Re-factored and cleaned up type-checker | Alasdair Armstrong | |
| 2017-07-04 | Added effect system to new type checker | Alasdair Armstrong | |
| 2017-07-04 | Added documentation to type_check_new.mli | Alasdair Armstrong | |
