on 9054e62 help sign in
12 files
../ CaseTree.hsNew size change graph builder Looks at patterns, rather than case tree, and therefore finds it easier to spot structurally smaller arguments which are more complex. Constraints.hsDocumentation comment additions CoreParser.hssquash potential space leaks by using strict foldl Elaborate.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. Evaluate.hsTake care to avoid duplicating redexes when reducing lambdas Binders in values are annotated with a 'reducible' flag, which is set to False if simplifying and the argument appears more than once. Execute.hsFix detection of FInt types in executor ProofShell.hsRemove the unused arg from lookup functions ProofState.hsSome unification fixes ShellParser.hsFiddle with elaborator; update interp sample and test TT.hsTake care with 'let' in specialiser - avoid duplicating a redex Let now only reduces if the binding appears at most once in scope during specialisation 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.hsSome unification fixes