Commit Graph

10 Commits

Author SHA1 Message Date
William J. Bowman
69df6eeef0
Converted to new eliminator; all tests pass 2016-03-23 18:32:34 -04:00
William J. Bowman
5505b14e2f
More primitive elim form for inductives
Previous eliminator for inductive types was too complex. It performs
automagic currying, making it difficult to type check and reduce.

New version must be fully applied, and magic is left to the surface language.

This version is now working and all core tests are passing, but
documentation, etc needs to be changed. Also, there is dead code that
should be removed.
2016-03-23 15:01:02 -04:00
William J. Bowman
8cb4bc3f96
Added pre-definition type ascription 2016-03-22 13:33:51 -04:00
William J. Bowman
59e241ecb2
Simplify parts of Curnel implementation 2016-03-18 16:39:32 -04:00
William J. Bowman
b8ca2ad9dc
Added support for sweet-expressions
* Moved cur.rkt to main.rkt, which fixes some reader issues
* Added sweet-expression tests
* Added notes about sweet-expressions to README
* Added sweet-exp as dependency to tests
2016-03-17 16:59:54 -04:00
William J. Bowman
961a5b7bb9
Rewrote Olly
Olly is now properly designed. This also fixes some issues with binding,
i.e. fixes #32, and extraction to Coq and Latex
Makes progress on #9.
2016-01-19 11:23:49 -05:00
William J. Bowman
bf987cdb06
Better surface syntax. Closes #34
* Unified the surface syntax. There are no longer distinctions between
  single-arity and multi-arity function/function types.
* Removed case and case*, in favor of match, a single advanced pattern
  matching construct.
* Updated all libraries, tests and documentation to use these new syntax.
* Some work to provide improved error messages in surface syntax.
2016-01-18 14:14:05 -05:00
William J. Bowman
8c149fcef2
Fixed inductive elimination. Closes #33
Previously, inductive elimination could fail due to non-determinisic
matching in the reduction-relation and reduction over open terms via
reflection.
2016-01-13 21:00:04 -05:00
William J. Bowman
ebdb419dd7
Changed oll to olly 2016-01-11 15:46:55 -05:00
William J. Bowman
792d37252f
Split and reorganized package. Closes #14
Created split packages: cur, cur-lib, cur-test, cur-doc, similar to
other Racket packages, e.g., redex.

* Moved tests out of core and into cur-test
* Moved docs into cur-doc
* Moved cur implementation and libraries into cur-lib
* Added cur meta-pacakge that installs all of the above
2016-01-10 19:10:12 -05:00