on 7afa310 help sign in
all commits
8353de5Find updatable constructors after destructive caseEdwin Brady e5d1956Propagate constructor updates to bytecodeEdwin Brady cdbfec9Propagate CaseType through IRsEdwin Brady 2a9acf2Update evaluated variable after EVALEdwin Brady 5d4f534Remove pessimisation from DefunctionalisationEdwin Brady fb3c24cMake EVAL and APPLY smallerEdwin Brady 0043db9Remove EVAL from APPLYEdwin Brady 970e476Remove EVALs from generated codeEdwin Brady e9c9297Make lookupCtxtExact return Maybe instead of ListDavid Raymond Christiansen 46e894dUse Data.Text for variable namesEdwin Brady 5000aebAdd a Cabal libraryBrian McKenna 9836a07Inlining - Evaluator now supports run-time termsEdwin Brady 3c32b65Whitespace cleanup.George Leontiev b9a3a69Fix missing case in Defunctionalise.hsEdwin Brady 93992c3Compile Nat as Int, (and plus/mult/fromInteger)Edwin Brady c2efaddAPPLY needs a catch all case for type constructors Normally, they get erased, but in case they haven't at compile time this ensures they are at run-time. It's safe just to return an erased term since it can't be inspected. Fixes #416 (This may mean something is wrong in erasure, or it may simply be that something is sufficiently higher order that the unused argument checker doesn't feel it is safe to erase.)Edwin Brady a807a34Remove the unused arg from lookup functionsDavid Christiansen c70992bGenerate legal DChkCase expressions when defunctionalization is trivialBenjamin Saunders bdf11e8Better IO + faster compilation by avoiding needless cases in EVAL/APPLYEdwin Brady 7245290Some tiny RTS optimisationsEdwin Brady c101721Fix Integer matching bugEdwin Brady 06283b6Improve evaluation of projection By caching result of evaluation, so that it's already evaluated when next projection happens.Edwin Brady 28ecd81Erase unused arguments when compilingEdwin Brady 3c641aeAdded --dumpdefuns flagEdwin Brady 0f957f6Add Proj operator to runtime version of TT Allows extracting arguments without checking constructor first which will make erasing unused values easier shortlyEdwin Brady bb76c6cMore aggressive simplification; fix case generation bugEdwin Brady 783d45fNew datatype for defunctionalised programs ...so that we can't make something ill formed by accidentEdwin Brady c02a58cAdded fork (but not working properly yet)Edwin Brady 371bd9aGroup EVAL/APPLY constructorsEdwin Brady b642db5Almost working new back endEdwin Brady 35ec145Added lazy application to IRTSEdwin Brady 4e0fe22Added defunctionalisation to IRTS idris --fovm now gives a full defunctionalising compiler for a supercombinator languageEdwin Brady 517acc1Namespace parsing improvements (for qualified operator names) thanks to Dirk UllrichEdwin Brady