on 7ebf672 help sign in
12 files
../ CaseTree.hsDon't inline for compilation (because the evaluator makes bad choices) Instead, inline the compile-time representation to help the totality checker only. This can cause subexpressions to be duplicated, so should be avoided at run-time. For the run-time rep… Constraints.hsDocumentation comment additions CoreParser.hsParse empty comments Elaborate.hsGive Pi bindings the proper name when elaborating lambdas Fixes #360 Evaluate.hsDon't inline for compilation (because the evaluator makes bad choices) Instead, inline the compile-time representation to help the totality checker only. This can cause subexpressions to be duplicated, so should be avoided at run-time. For the run-time rep… Execute.hsSpecial-case prim__believe_me ProofShell.hsRemove the unused arg from lookup functions ProofState.hsAdded %unifyLog construct For debugging purposes %unifyLof t will give a trace of unification problems while elaborating t Also, log levels 6 and above will give the trace ShellParser.hsFiddle with elaborator; update interp sample and test TT.hsFix term size calculation for inlining Now counting binders other than Let, so lots of things previously inlined over-aggressively are now not inlined. Typecheck.hsCheck that explicitly given implicit args unify with inferred versions Also exposed a unification bug which unified things which shouldn't be: f x = f y does not imply x = y unless f is injective, and this was not properly checked. Unify.hsEXPERIMENTAL: Syntax for applying functions by expected type "t <== f" applies a function f to arguments in such a way that it returns something of type t. The <== is a placeholder syntax until someone comes up with something better. (Alternative: t by f, …