aboutsummaryrefslogtreecommitdiff
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-09-24- Now generating better error messages when trying to use a static/virtual ↵Eduardo Julian1-25/+28
that belongs to a class's parent, instead of the class itself.
2016-09-24- Documented the optimizer module.Eduardo Julian1-9/+155
2016-09-24- Fixed a bug that allowed modules to refer to definitions of other ↵Eduardo Julian3-24/+37
already-compiled modules without these being imported.
2016-09-24- Now optimizing the record accesses that are characteristic of get@ and ::.Eduardo Julian3-0/+64
2016-09-23- Lexer now allows , and _ as separators for numbers.Eduardo Julian2-3/+13
2016-09-23- Added conversions between byte/short and long.Eduardo Julian2-25/+61
- Also added conversions between Char and Nat.
2016-09-23- Now using Nat as the type of both VarT and ExT.Eduardo Julian1-2/+2
2016-09-23- Now showing warnings when trying to use deprecated constructors and methods.Eduardo Julian1-5/+9
2016-09-22- java.lang.Error and its subclasses don't get checked anymore.Eduardo Julian1-1/+2
2016-08-16- Improved support for Nat.Eduardo Julian6-24/+76
2016-08-14- Added support for natural numbers (unsigned integers).Eduardo Julian14-24/+363
2016-08-08- Added a new compilation mode: REPL.Eduardo Julian6-58/+118
- Fixed the REPL.
2016-08-01- Fixed a bug in the analysis of tuples, when the tuple-type is shorter than ↵Eduardo Julian4-161/+161
the tuple-syntax.
2016-07-30- Now storing the name of each scope as a list/stack of name-fragments, to ↵Eduardo Julian4-21/+11
eliminate the need to keep an explicit cache for it.
2016-07-30- Scope-names are no longer being reversed when generated, but only when ↵Eduardo Julian6-54/+26
compiling functions and captured vars. - Now caching scope-names (pre-joining) to ensure all checks needed during pre-scoping are identity checks.
2016-07-30- Now streamlining simple "let" expressions when doing pattern-matching.Eduardo Julian4-7/+30
2016-07-29- Fixed a bug in the way type-adjustment happens during pattern-matching, in ↵Eduardo Julian4-71/+210
which the handing of universal quantification and type-vars was done improperly and caused the wrong type-vars to show up in the wrong places. - Fixed a bug in the type-checking of function application, in which, if the result of an apply was a universally-quantified value, the type wasn't actually universally-quantified, even though the BoundTs had been added to it. - Fixed a bug in the way the "loop" optimized-AST was compiled, which sometimes caused miscalculation, due to premature rebinding of variables. - Now also cleaning ExQ.
2016-07-26- A module's hash is also stored in the Compiler state and in the cached ↵Eduardo Julian5-99/+114
classes, to check for inconsistencies in the dependencies when loading cached modules.
2016-07-24- Improved error messages in analyser by adding cursor.Eduardo Julian1-40/+23
2016-07-24- Added the [bit count] procedure.Eduardo Julian2-1/+22
2016-07-23- Fixed a bug in which the signatures for multi-parameter generic classes ↵Eduardo Julian2-6/+6
where getting spaces between the parameter signatures, which is invalid. - Type-errors now include cursor information.
2016-07-23- Added object/reference/pointer testing.Eduardo Julian2-0/+36
2016-07-19- Fixed the bug in the optimizer that was causing some functions to end up ↵Eduardo Julian2-38/+62
with the same name.
2016-07-13- Optimized the type-checker slightly by now using a 2-tuple for the ↵Eduardo Julian2-24/+23
results, but instead just returning the fixpoints.
2016-07-13- Added bitwise operations.Eduardo Julian2-0/+86
2016-07-11- Renamed LuxUtils to LuxRT.Eduardo Julian5-35/+35
- Fixed a bug in _lux_proc ["array" "get"].
2016-07-10- The compiler no longer complains about not catching RuntimeException and ↵Eduardo Julian4-37/+68
it's derivatives. - Fixed a bug that cause the exception-handling scope of an outer function or method to be treaded as part of the exception-handling scope of an inner one. - The return-type of ["jvm" "throw"] is now Bottom. - Improved error messages coming from lux.base, by adding cursor data.
2016-07-01- Small fixes to reader & type-system.Eduardo Julian1-10/+4
- Test suites for reader, lexer and parser got updated. - Added unit-tests for type-system.
2016-06-19- Fixed a bug in the way type-vars were flowing when type-checking JVM ↵Eduardo Julian1-8/+8
method calls.
2016-06-13- Implemented a procedure for loading JVM classes.Eduardo Julian2-0/+24
2016-06-13- Removed all the unnecessary stack-frame descriptors.Eduardo Julian1-15/+0
2016-06-13- Now avoiding unnecessary pops of the pattern-matching stack/cursor.Eduardo Julian1-3/+11
2016-06-13- Finished the test-sharing code.Eduardo Julian6-398/+401
2016-06-06- [WIP] sharing tests during pattern-matching.Eduardo Julian4-177/+402
2016-05-22- Fixed that bug that was causing method definitions to be set as final and ↵Eduardo Julian2-6/+10
with strict-fp math.
2016-05-22- Added Tail-Recursion Optimization.Eduardo Julian5-104/+177
2016-05-21- Merged _lux_alias into _lux_import.Eduardo Julian3-30/+26
2016-05-21- Now it's possible to pattern-match against variants using numeric indices.Eduardo Julian3-20/+15
2016-05-21- Now folding top-level function-classes into their owner def-classes.Eduardo Julian4-100/+209
2016-05-21- Improved the optimization of self-calls.Eduardo Julian1-4/+9
2016-05-21- Fixed a bug in which it was impossible to pattern-match against ↵Eduardo Julian7-67/+169
existentially-qualified types. - Improved error-reporting. - When loading a class post-compilation, the ClassLoader kept referring to the previous dummy version used during analysis, which meant the real class, with it's code, couldn't be used at compile time. Fixed this (with a hack, sadly...). - Fixed a bug in which using JVM type-vars with top-bounds different from java.lang.Object was not getting acknowledged by the compiler, and resulted in incorrect signatures for methods.
2016-05-20- Fixed a bug when parsing the names of arguments in method definitions, ↵Eduardo Julian2-2/+6
wherein the names couldn't be full-blown (unprefixed) idents.
2016-05-14- Now storing the type-variables created during type-checking for the sake ↵Eduardo Julian4-48/+93
of reference later on in definitions.
2016-05-13- Optimized pattern-matching on the analyser-phase.Eduardo Julian4-177/+135
- Analysis of statements now ensures they are top-level forms, by making sure there is no expected type when they are analyzed.
2016-05-13- The expected-type in the compiler-state is now a (Maybe Type), instead of ↵Eduardo Julian5-165/+184
a Type. - Simplified and optimized the pattern-matching done during the analysis phase. - Fixed the bug that caused the JVM garbage-collector to go crazy after running the compiler.
2016-05-13- Fixed a bug that allowed pattern-matching using unknown tags to proceed.Eduardo Julian5-27/+72
- Streamlined invocation of functions when the args-list >= the arity. The impl method gets called immediately, instead of passing first by the apply method.
2016-05-12- Now with better localization for reader, lexer & parser errors.Eduardo Julian6-24/+24
2016-05-11- Now generating variants of the "apply" method of lux/Function up to 8 arities.Eduardo Julian7-112/+70
2016-05-11- Now fusing impl and apply1 for 1-arity functions.Eduardo Julian1-80/+90
- Now avoiding to "reset" functions at stage 0, when called with an apply-N where N = arity.
2016-05-11- lux/Function is now an abstract class with 4 versions of apply, to improve ↵Eduardo Julian6-69/+176
performance when calling functions.