| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2018-01-02 | Experimenting with power spec | Alasdair Armstrong | |
| 2017-12-14 | Merge remote-tracking branch 'origin/experiments' into interactive | Alasdair Armstrong | |
| 2017-12-13 | Use big_nums from Lem | Alasdair Armstrong | |
| 2017-12-12 | Make mono analysis fail properly on effectful functions | Brian Campbell | |
| 2017-12-11 | Remove some duplication from monomorphisation analysis failure reports | Brian Campbell | |
| 2017-12-07 | Support monomorphisation with set constrained integers | Brian Campbell | |
| Also, to support this, constant propagation for integer multiply, fix substitution of concrete values for nvars, size parameters in single argument functions, fix kind for itself, add eq_atom to prelude | |||
| 2017-12-06 | Remove filename mangling in monomorphisation | Brian Campbell | |
| Broke analysis a little | |||
| 2017-12-06 | Add top-level pattern match guards internally | Brian Campbell | |
| Also fix bug in mono analysis with generated variables Breaks lots of typechecking tests because it generates unnecessary equality tests on units (and the tests don't have generic equality), which I'll fix next. | |||
| 2017-12-05 | Update license headers for Sail source | Alasdair Armstrong | |
| 2017-11-27 | Replace bad generic comparisons in mono | Brian Campbell | |
| 2017-11-27 | Case splitting on bools | Brian Campbell | |
| (mostly to make test cases easier) | |||
| 2017-11-24 | Use unbound precision big_ints throughout sail. | Alasdair Armstrong | |
| Alastair's test cases revealed that using regular ints causes issues throughout sail, where all kinds of things can internally overflow in edge cases. This either causes crashes (e.g. int_of_string fails for big ints) or bizarre inexplicable behaviour. This patch switches the sail AST to use big_int rather than int, and updates everything accordingly. This touches everything and there may be bugs where I mistranslated things, and also n = m will still typecheck with big_ints but fail at runtime (ocaml seems to have decided that static typing is unnecessary for equality...), as it needs to be changed to eq_big_int. I also got rid of the old unused ocaml backend while I was updating things, so as to not have to fix it. | |||
| 2017-11-21 | Merge Thomas' suggested changes | Brian Campbell | |
| Use overloading to find eq/neq Track range/atom split Missing type expansion | |||
| 2017-11-20 | Tidy last up | Brian Campbell | |
| 2017-11-20 | Constant propagation in guards | Brian Campbell | |
| 2017-11-20 | Basic handling of recursive calls in monomorphisation analysis | Brian Campbell | |
| 2017-11-20 | Look up the right type variables in monomorphisation analysis | Brian Campbell | |
| 2017-11-20 | Support new nexp in mono | Brian Campbell | |
| 2017-11-16 | Remove unused Typ_wild constructor | Alasdair Armstrong | |
| 2017-11-15 | Report all monomorphisation problems | Brian Campbell | |
| 2017-11-15 | For loops bind a type variable | Brian Campbell | |
| 2017-11-15 | Remove untested infix monomorphisation (removed by type checker) | Brian Campbell | |
| 2017-11-15 | Tidy up in monomorphisation | Brian Campbell | |
| 2017-11-14 | During monomorphisation always refine constructors, | Brian Campbell | |
| not just when there's been a case split | |||
| 2017-11-14 | Fix existential union typing problem in monomorphisation | Brian Campbell | |
| 2017-11-14 | Remove some obsolete code | Brian Campbell | |
| 2017-11-14 | Automatic analysis for monomorphisation | Brian Campbell | |
| 2017-11-02 | Merge branch 'experiments' | Thomas Bauereiss | |
| 2017-11-02 | Fix a few AST and parsing-related bugs | Thomas Bauereiss | |
| 2017-11-02 | Handle "undefined" type-level sizes in monomorphisation | Brian Campbell | |
| 2017-11-01 | Support bitvector-size-parametric functions in Lem output | Brian Campbell | |
| Translates atom('n) types into itself('n) types that won't be erased Also exports more rewriting functions | |||
| 2017-10-25 | List.cons is too new | Brian Campbell | |
| 2017-10-18 | Merge branch 'experiments' of Peter_Sewell/sail into mono-experiments | Brian Campbell | |
| (and fix up monomorphisation) | |||
| 2017-10-13 | Handle bitvector_access in constant propagation | Brian Campbell | |
| 2017-10-06 | Fix constant propagation on multi-argument functions | Brian Campbell | |
| 2017-10-02 | Make undefined constant propagation stop at ex_int | Brian Campbell | |
| 2017-09-28 | Use (K)Bindings from ast_util rather than making new ones | Brian Campbell | |
| 2017-09-28 | Add loops to monomorphisation | Brian Campbell | |
| 2017-09-28 | Refine constructors during monomorphisation | Brian Campbell | |
| 2017-09-26 | Remove obsolete existential removal code | Brian Campbell | |
| 2017-09-26 | Remove debugging statements included accidentally | Brian Campbell | |
| 2017-09-26 | Add propagation of local assignments to monomorphisation | Brian Campbell | |
| 2017-09-21 | Change NC_fixed to NC_equal to match NC_not_equal | Alasdair Armstrong | |
| also rename NC_nat_set_bounded to NC_set (it was an int set not a nat set anyway) | |||
| 2017-09-21 | Simplify AST by removing LB_val_explicit and replace LB_val_implicit with ↵ | Alasdair Armstrong | |
| just LB_val in AST also rename functions in rewriter.ml appropriately. | |||
| 2017-09-21 | Cleaning up the AST and removing redundant and/or unused nodes | Alasdair Armstrong | |
| 2017-09-21 | Support more functions and vector construction in mono for hexapod | Brian Campbell | |
| 2017-09-21 | Substitute into constraints to make assert work with mono | Brian Campbell | |
| 2017-09-21 | Disable existential removal for now | Brian Campbell | |
| 2017-09-20 | Handle let (exists 't...[:'t:]) 't = lit in mono | Brian Campbell | |
| 2017-09-20 | Remove obsolete nexp refinement | Brian Campbell | |
