Commit Graph

9 Commits

Author SHA1 Message Date
Edwin Brady
bc26d74f9b Deal with unresolved constraints
Well-typed interpreter example now works (added in samples)
2019-04-20 22:00:58 +01:00
Edwin Brady
63da191e03 FOUR!!!1!!!
Er, that is to say, evaluation of a 'main' expression
'plus (S (S Z)) (S (S Z))' is now printing the right answer.
2019-04-20 16:54:09 +01:00
Edwin Brady
c3f36ce484 Add IBindHere for type declarations
This means we have unbound implicits in types now
2019-04-18 17:24:56 +01:00
Edwin Brady
c41ab9778f Progress towards pattern matching
Checking IBindVar and IBindHere, and first check of left hand side with
implicitly bound pattern variables.
2019-04-18 14:51:04 +01:00
Edwin Brady
56c0ec5324 Implement inferLambda
This checks lambdas where the type isn't immediately a pi binder. First
normalises, if that doesn't work, just guesses and unifies with the
expected type.
2019-04-07 17:16:44 +01:00
Edwin Brady
947e33cc97 Initial implementation of data types 2019-04-06 22:40:15 +01:00
Edwin Brady
10b1b6eb8d Unifying pi binders, add implicit lambda 2019-04-06 17:37:20 +01:00
Edwin Brady
23051a55de Add Weaken interface, to start evaluator 2019-03-10 22:00:10 +00:00
Edwin Brady
0f8d337b27 Add a main program which processes a source file 2019-03-10 18:20:26 +00:00