Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2016-07-30 | - Now storing the name of each scope as a list/stack of name-fragments, to ↵ | Eduardo Julian | 4 | -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 Julian | 6 | -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 Julian | 4 | -7/+30 | |
2016-07-29 | - Fixed a bug in the way type-adjustment happens during pattern-matching, in ↵ | Eduardo Julian | 4 | -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 Julian | 5 | -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 Julian | 1 | -40/+23 | |
2016-07-24 | - Added the [bit count] procedure. | Eduardo Julian | 2 | -1/+22 | |
2016-07-23 | - Fixed a bug in which the signatures for multi-parameter generic classes ↵ | Eduardo Julian | 2 | -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 Julian | 2 | -0/+36 | |
2016-07-19 | - Fixed the bug in the optimizer that was causing some functions to end up ↵ | Eduardo Julian | 2 | -38/+62 | |
with the same name. | |||||
2016-07-13 | - Optimized the type-checker slightly by now using a 2-tuple for the ↵ | Eduardo Julian | 2 | -24/+23 | |
results, but instead just returning the fixpoints. | |||||
2016-07-13 | - Added bitwise operations. | Eduardo Julian | 2 | -0/+86 | |
2016-07-11 | - Renamed LuxUtils to LuxRT. | Eduardo Julian | 5 | -35/+35 | |
- Fixed a bug in _lux_proc ["array" "get"]. | |||||
2016-07-10 | - The compiler no longer complains about not catching RuntimeException and ↵ | Eduardo Julian | 4 | -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 Julian | 1 | -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 Julian | 1 | -8/+8 | |
method calls. | |||||
2016-06-13 | - Implemented a procedure for loading JVM classes. | Eduardo Julian | 2 | -0/+24 | |
2016-06-13 | - Removed all the unnecessary stack-frame descriptors. | Eduardo Julian | 1 | -15/+0 | |
2016-06-13 | - Now avoiding unnecessary pops of the pattern-matching stack/cursor. | Eduardo Julian | 1 | -3/+11 | |
2016-06-13 | - Finished the test-sharing code. | Eduardo Julian | 6 | -398/+401 | |
2016-06-06 | - [WIP] sharing tests during pattern-matching. | Eduardo Julian | 4 | -177/+402 | |
2016-05-22 | - Fixed that bug that was causing method definitions to be set as final and ↵ | Eduardo Julian | 2 | -6/+10 | |
with strict-fp math. | |||||
2016-05-22 | - Added Tail-Recursion Optimization. | Eduardo Julian | 5 | -104/+177 | |
2016-05-21 | - Merged _lux_alias into _lux_import. | Eduardo Julian | 3 | -30/+26 | |
2016-05-21 | - Now it's possible to pattern-match against variants using numeric indices. | Eduardo Julian | 3 | -20/+15 | |
2016-05-21 | - Now folding top-level function-classes into their owner def-classes. | Eduardo Julian | 4 | -100/+209 | |
2016-05-21 | - Improved the optimization of self-calls. | Eduardo Julian | 1 | -4/+9 | |
2016-05-21 | - Fixed a bug in which it was impossible to pattern-match against ↵ | Eduardo Julian | 7 | -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 Julian | 2 | -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 Julian | 4 | -48/+93 | |
of reference later on in definitions. | |||||
2016-05-13 | - Optimized pattern-matching on the analyser-phase. | Eduardo Julian | 4 | -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 Julian | 5 | -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 Julian | 5 | -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 Julian | 6 | -24/+24 | |
2016-05-11 | - Now generating variants of the "apply" method of lux/Function up to 8 arities. | Eduardo Julian | 7 | -112/+70 | |
2016-05-11 | - Now fusing impl and apply1 for 1-arity functions. | Eduardo Julian | 1 | -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 Julian | 6 | -69/+176 | |
performance when calling functions. | |||||
2016-05-10 | - Added an optimization to fold directly-nested functions and fuse them into ↵ | Eduardo Julian | 13 | -296/+640 | |
multi-argument functions. | |||||
2016-05-08 | - Removed _jvm_class, _jvm_interface and _jvm_anon-class from the list of ↵ | Eduardo Julian | 10 | -675/+732 | |
special forms. | |||||
2016-05-03 | - Made a small adjustment when packaging the .jars of programs, to avoid ↵ | Eduardo Julian | 1 | -1/+4 | |
packaging .jars that are necessary for the compiler itself, but not for the Lux program that was compiled. | |||||
2016-05-03 | - Added multi-platform support for arrays. | Eduardo Julian | 2 | -0/+83 | |
2016-05-03 | - Now, showing the right error when trying to lex an ident with an ↵ | Eduardo Julian | 5 | -47/+94 | |
invalid/unknown prefix. | |||||
2016-05-03 | - Renamed #DataT to #HostT. | Eduardo Julian | 12 | -117/+126 | |
- Renamed _lux_host to _lux_proc. | |||||
2016-05-03 | - Simplified the Analysis type. | Eduardo Julian | 8 | -269/+256 | |
- Renamed _jvm_program to _lux_program. | |||||
2016-05-03 | - Removed _jvm_instanceof from the list of special forms. | Eduardo Julian | 6 | -90/+67 | |
2016-05-02 | - Removed _jvm_try from the list of special forms. | Eduardo Julian | 7 | -122/+50 | |
- Fixed a bug when compiling method bodies where the list of thrown exceptions did not get excluded from the safety-check when analysing the bodies. | |||||
2016-05-02 | - Removed _jvm_new, _jvm_invokestatic, _jvm_invokeinterface, ↵ | Eduardo Julian | 6 | -326/+260 | |
_jvm_invokevirtual and _jvm_invokespecial from the list of special forms. | |||||
2016-05-02 | - Removed _jvm_getstatic, _jvm_getfield, _jvm_putstatic and _jvm_putfield ↵ | Eduardo Julian | 6 | -153/+114 | |
from the list of special forms. | |||||
2016-05-01 | - Removed _jvm_monitorenter, _jvm_monitorexit and _jvm_throw from the list ↵ | Eduardo Julian | 6 | -238/+210 | |
of special forms. | |||||
2016-05-01 | - Removed _jvm_null and _jvm_null? from the list of special forms. | Eduardo Julian | 7 | -99/+83 | |