on 4e0fe22 help sign in
all commits
c30e6ceNo need to qualify unambiguous names on :pEdwin Brady 19495edCheck patterns are inaccessibleEdwin Brady 489ea6fPass pattern variable names to match compilerEdwin Brady dca8f9fNormalise types before applying forcingEdwin Brady 3f13043Make compile time evaluator take advantage of laziness again (And update test001 to catch it if it goes wrong again)Edwin Brady cd38cefEvaluator tinkeringEdwin Brady a5b7eedAdded a 'boredom threshold' to the evaluator If it takes too long (probably because it's evaluating a non-terminating function) just returns the input. This is hopefully temporary until the totality checker works better...Edwin Brady 4bcfa68Tinker with specialisationEdwin Brady 09f2abdFix let overloading bug with do blocksEdwin Brady 00d7c69Work towards making {static} arguments and specialisation work properlyEdwin Brady 7142d7eTotality checker tweaksEdwin Brady 7fb7decImproved termination check (gets ackermann now, but still no mutual recursive definitions)Edwin Brady 392c225Check definitions structurally as well as by name in conversionEdwin Brady fc6eb53Bug fixes; checking type names in data declsEdwin Brady de6bb41Added 'total' keyword and positivity checkEdwin Brady ae4be75Well founded recursion checkEdwin Brady 6807cf4Unreachable case warningEdwin Brady 1112fe4Coverage checker Not quite complete - a bug (which I know how to fix) makes some things appear not covering even though they are. Results currently used only for pruning case trees in compiled code. There is a small performance penalty - coverage checking can be disable with --nocoverageEdwin Brady 10ea548Inline type class applications where possible to reduce overheadEdwin Brady baaba44Run-time forcing optimisationEdwin Brady 02881b1Implemented forcing optimisation Constructor arguments which are inferrable from the indices in the constructor type are erased both at compile-time and run-timeEdwin Brady 201ade9Fixed accessibility bug; added some library functionsEdwin Brady d6c53d9Fix pattern name bug where name is already a CAFEdwin Brady 9265e7cAdded 'public', 'abstract' and 'private' modifiers 'public' means export everything (name and definition) 'abstract' means export just the name 'private' means export nothing for data types and classes, 'abstract' means export the type/class name but not the members.Edwin Brady 8ea902dAdded %hide and %freeze directivesEdwin Brady dccbc43Generate bytecode so that files don't need to be rechecked every time they're loadedEdwin Brady 8f77986Added some serialisationEdwin Brady fa5f1cdNamespacesEdwin Brady 8cd093fChanged lookup to return a list (preparation for namespaces)Edwin Brady b26716aCollect cumulativity constraints on universesEdwin Brady 4931c20Added Integer (but an Epic bug prevents them compiling properly)Edwin Brady ffc64e3Add mechanism for simplification and function optionsEdwin Brady 7b1336bFixed naming problem in type checking of applicationEdwin Brady 7c4f79cSome progress towards specialisationEdwin Brady 3bdfa26Added [static] annotations (which do nothing yet) and state to evaluatorEdwin Brady 6757c47Added case analysis on types, but only when enabled with --typecase (since it breaks parametricity)Edwin Brady 070b0faSome unification/evaluation bug fixesEdwin Brady 20861ecEnough Epic to compile 'hello world' (but not much else yet...)Edwin Brady 868409aSmall bug fixesEdwin Brady 3b115b2Fixed pattern matching and delaborator bugEdwin Brady a805f47Added constants and some primitive operationsEdwin Brady 22b4dc4Lots of improvements in elaborating and evaluatingEdwin Brady c637850Pattern matcher, evaluation of 2+2 now worksEdwin Brady 82585e7Some ghc 6.12 compatibilityEdwin Brady 554c395Made a start on the high level languageEdwin Brady ff5f762Rename Core to TTEdwin Brady 0ae24f1Shift core TT into a separate directory (for ease of reuse)Edwin Brady