Commit Graph

13 Commits (25658f370aaa7506edcf7adc17912a865af8ee51)

Author SHA1 Message Date
James T. Martin 25658f370a
Complexity was getting out of hand. Beginning a rewrite. Added tests. 2019-12-11 18:29:28 -08:00
James T. Martin 807a0cb1ee Massive refactoring. This project is no longer "just an exercise".
* Allows for multiple representations
  * Evaluation strategies
  * Type systems.
* No longer just the untyped lambda calculus.
* No longer "just an experiment".
2019-08-29 20:46:42 -07:00
James T. Martin 8ab723b803 Made substitutions an explicit part of syntax. 2019-08-27 17:44:23 -07:00
James T. Martin 7cb27e8e9a Modified to use dependent types and 'Drop' instead of a var index. 2019-08-23 18:38:57 -07:00
James T. Martin ee7794073c Converted to use reverse de bruijn representation. 2019-08-21 21:40:04 -07:00
James T. Martin ec7ad2236b Added `let`, removed `Nil`, replaced `subst` with `Subst` exprs. 2019-08-21 15:18:25 -07:00
James T. Martin 5f87100363 Added nullary applications and generalized eta reductions. 2019-08-19 15:08:45 -07:00
James T. Martin 2e95783c3a Simplified the code, at the cost of removing type-level invariants. 2019-08-17 11:49:14 -07:00
James T. Martin 9cda0ef9c2 Cleaned up the code, removed dep on recursion-schemes. 2019-08-17 00:01:23 -07:00
James T. Martin 43e4a77cdc Parse directly to Expr without any intermediate Ast type. 2019-08-16 22:34:09 -07:00
James T. Martin d74f17007a Made variables indexed by `Fin n` instead of Int. 2019-08-16 18:37:55 -07:00
James T. Martin 70b3b7e051 I fixed it! Also deleted some unused code, and refactored a little. 2019-08-15 13:11:17 -07:00
James T. Martin fd98d499fe Initial commit. Some terms are still not evaluated correctly. 2019-08-15 10:42:24 -07:00