on fb21e21 help sign in
all commits
eeeaad8Enable record pattern matching in let-expressions, and fix a toJS error in which records added a newline that could cause them to be parsed weirdly by JS.evancz 6cc617bAdd line and column number for type errors and "non-exhaustive" errors.evancz 95364f3Refactor lots of code in the type-checker. Also includes some efficiency improvements to make unification a bit faster.evancz ff7f9ccRename the module `Types` to `Types.Types`. This allows the .cabal file to list fewer source directories. Perhaps this will allow the use of GHCievancz 56b5e53Detect ambiguous variable usage and report this to the user. Make the compiler match up import aliases with the underlying type hints. Add a ton of type hints.evancz 4a57153Make type checking faster.evancz 839d3e2Add occurs check to unification.evancz f27453eAdd support for `[markdown| anything can go here |] :: Element`. Yay!evancz 9b659ddAdd error messages for errors due to untyped native functions. Hopefully untyped native functions can be eliminated soon!evancz dea401bFix bug in `concretize` in which a fold uses the base for every step instead of accumulating the result (i.e. `t` becomes `t'`). One character mistakes are the worst! Let-polymorphism should be working for everything now! FINALLY! Mabye...evancz 9e90c58Change module names in Types/ to include Types prefix. Work on getting let-polymorphism correct.evancz 75593c5Change representation of Modules. Now all statements (definitions, datatypes, event imports, and event exports) are treated the same way. This caused lots of changes, but will ultimately improve type checking.evancz 45f834eAdd context to type constraints for better error messages. Fix big with generated constraints in which some constraints could be ignored.evancz 0a4010eAdd the 'Appendable' super-type and add hints for new number functions.evancz 153d054- Simplify basic types. Add more correct versions of Type Schemes and Super Types. - Adjust type hints to use type schemes. - Adjust constraint generation to use type schemes and super types properly. - Modify unification algorithm to properly handle type schemes and super types.evancz f2e8703* restructuring, part #1Vincent Ambo