Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
| * | - [WIP] sharing tests during pattern-matching. | Eduardo Julian | 2016-06-06 | 4 | -177/+402 | |
|/ | ||||||
* | - Fixed that bug that was causing method definitions to be set as final and ↵ | Eduardo Julian | 2016-05-22 | 2 | -6/+10 | |
| | | | | with strict-fp math. | |||||
* | - Added Tail-Recursion Optimization. | Eduardo Julian | 2016-05-22 | 5 | -104/+177 | |
| | ||||||
* | - Merged _lux_alias into _lux_import. | Eduardo Julian | 2016-05-21 | 3 | -30/+26 | |
| | ||||||
* | - Now it's possible to pattern-match against variants using numeric indices. | Eduardo Julian | 2016-05-21 | 3 | -20/+15 | |
| | ||||||
* | - Now folding top-level function-classes into their owner def-classes. | Eduardo Julian | 2016-05-21 | 4 | -100/+209 | |
| | ||||||
* | - Improved the optimization of self-calls. | Eduardo Julian | 2016-05-21 | 1 | -4/+9 | |
| | ||||||
* | - Fixed a bug in which it was impossible to pattern-match against ↵ | Eduardo Julian | 2016-05-21 | 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. | |||||
* | - Fixed a bug when parsing the names of arguments in method definitions, ↵ | Eduardo Julian | 2016-05-20 | 2 | -2/+6 | |
| | | | | wherein the names couldn't be full-blown (unprefixed) idents. | |||||
* | - Now storing the type-variables created during type-checking for the sake ↵ | Eduardo Julian | 2016-05-14 | 4 | -48/+93 | |
| | | | | of reference later on in definitions. | |||||
* | - Optimized pattern-matching on the analyser-phase. | Eduardo Julian | 2016-05-13 | 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. | |||||
* | - The expected-type in the compiler-state is now a (Maybe Type), instead of ↵ | Eduardo Julian | 2016-05-13 | 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. | |||||
* | - Fixed a bug that allowed pattern-matching using unknown tags to proceed. | Eduardo Julian | 2016-05-13 | 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. | |||||
* | - Now with better localization for reader, lexer & parser errors. | Eduardo Julian | 2016-05-12 | 6 | -24/+24 | |
| | ||||||
* | - Now generating variants of the "apply" method of lux/Function up to 8 arities. | Eduardo Julian | 2016-05-11 | 7 | -112/+70 | |
| | ||||||
* | - Now fusing impl and apply1 for 1-arity functions. | Eduardo Julian | 2016-05-11 | 1 | -80/+90 | |
| | | | - Now avoiding to "reset" functions at stage 0, when called with an apply-N where N = arity. | |||||
* | - lux/Function is now an abstract class with 4 versions of apply, to improve ↵ | Eduardo Julian | 2016-05-11 | 6 | -69/+176 | |
| | | | | performance when calling functions. | |||||
* | - Added an optimization to fold directly-nested functions and fuse them into ↵ | Eduardo Julian | 2016-05-10 | 13 | -296/+640 | |
| | | | | multi-argument functions. | |||||
* | - Removed _jvm_class, _jvm_interface and _jvm_anon-class from the list of ↵ | Eduardo Julian | 2016-05-08 | 10 | -675/+732 | |
| | | | | special forms. | |||||
* | - Made a small adjustment when packaging the .jars of programs, to avoid ↵ | Eduardo Julian | 2016-05-03 | 1 | -1/+4 | |
| | | | | packaging .jars that are necessary for the compiler itself, but not for the Lux program that was compiled. | |||||
* | - Added multi-platform support for arrays. | Eduardo Julian | 2016-05-03 | 2 | -0/+83 | |
| | ||||||
* | - Now, showing the right error when trying to lex an ident with an ↵ | Eduardo Julian | 2016-05-03 | 5 | -47/+94 | |
| | | | | invalid/unknown prefix. | |||||
* | - Renamed #DataT to #HostT. | Eduardo Julian | 2016-05-03 | 12 | -117/+126 | |
| | | | - Renamed _lux_host to _lux_proc. | |||||
* | - Simplified the Analysis type. | Eduardo Julian | 2016-05-03 | 8 | -269/+256 | |
| | | | - Renamed _jvm_program to _lux_program. | |||||
* | - Removed _jvm_instanceof from the list of special forms. | Eduardo Julian | 2016-05-03 | 6 | -90/+67 | |
| | ||||||
* | - Removed _jvm_try from the list of special forms. | Eduardo Julian | 2016-05-02 | 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. | |||||
* | - Removed _jvm_new, _jvm_invokestatic, _jvm_invokeinterface, ↵ | Eduardo Julian | 2016-05-02 | 6 | -326/+260 | |
| | | | | _jvm_invokevirtual and _jvm_invokespecial from the list of special forms. | |||||
* | - Removed _jvm_getstatic, _jvm_getfield, _jvm_putstatic and _jvm_putfield ↵ | Eduardo Julian | 2016-05-02 | 6 | -153/+114 | |
| | | | | from the list of special forms. | |||||
* | - Removed _jvm_monitorenter, _jvm_monitorexit and _jvm_throw from the list ↵ | Eduardo Julian | 2016-05-01 | 6 | -238/+210 | |
| | | | | of special forms. | |||||
* | - Removed _jvm_null and _jvm_null? from the list of special forms. | Eduardo Julian | 2016-05-01 | 7 | -99/+83 | |
| | ||||||
* | - Simplified the language by eliminating coercion and macro-declaration from ↵ | Eduardo Julian | 2016-05-01 | 6 | -23/+11 | |
| | | | | the analysis type. | |||||
* | - Unified dozens of host operations under the _lux_host special form. | Eduardo Julian | 2016-04-27 | 7 | -1576/+683 | |
| | ||||||
* | - Now using the actual class-names for arrays of primitives, instead of the ↵ | Eduardo Julian | 2016-04-26 | 4 | -32/+49 | |
| | | | | #Array of "something" format. | |||||
* | - Now, the parser no longer ignores uneven-record errors. | Eduardo Julian | 2016-04-26 | 3 | -12/+24 | |
| | ||||||
* | Update README.md | LuxLang | 2016-04-26 | 1 | -32/+11 | |
| | ||||||
* | - Made some fixes to type-inference for pattern-matching. | Eduardo Julian | 2016-04-26 | 5 | -47/+67 | |
| | ||||||
* | - Fixed a bug when lexing multi-line text. | Eduardo Julian | 2016-04-21 | 7 | -55/+37 | |
| | | | - Made some minor refactorings. | |||||
* | - Added inference for pattern-matching on tuples, records and variants. | Eduardo Julian | 2016-04-19 | 3 | -19/+125 | |
| | ||||||
* | - The compiler now takes the list of directories on which to look for source ↵ | Eduardo Julian | 2016-04-18 | 7 | -37/+37 | |
| | | | | code during compilation. | |||||
* | - The REPL no longer dies as soon as the first error happens. | Eduardo Julian | 2016-04-16 | 4 | -50/+59 | |
| | | | | | | - Writing "exit" in the REPL, kills it. - Fixed a bug wherein checking the presence of multiple methods with the same name being implemented, the names would overwrite each other and make some methods become impossible to check. - Fixed an error when type-checking parameterized host types. - Fixed a bug when loading the .lux files in JARs in the class-path. | |||||
* | - Improved the loading of classes when testing whether a module is cached. | Eduardo Julian | 2016-04-10 | 2 | -53/+56 | |
| | | | - Fixed a bug in which null-pointers where being compiled, rather than references to the "unit" value. | |||||
* | - Fixed a bug in the way sub-indices for sub-tuples were being calculated ↵ | Eduardo Julian | 2016-03-15 | 1 | -2/+2 | |
| | | | | when doing product_getLeft. | |||||
* | - Added a REPL mode. | Eduardo Julian | 2016-03-12 | 8 | -21/+121 | |
| | ||||||
* | - Fixed the way the CLI arguments are received by _jvm_program by using the ↵ | Eduardo Julian | 2016-03-11 | 1 | -23/+9 | |
| | | | | new format for data-structures. | |||||
* | - Fixed a bug wherein type-variables were not getting properly cleaned and ↵ | Eduardo Julian | 2016-03-09 | 7 | -73/+120 | |
| | | | | | | | that was causing trouble with type-checking. - Fixed a bug in the way arguments for method-definitions were getting compiled. - Fixed a bug in the way double greater-than comparison was being compiled. - Fixed how exception signatures were getting compiled for method-definitions. | |||||
* | - Fixed an error when parsing annotations syntax, in which the wrong ↵ | Eduardo Julian | 2016-03-06 | 2 | -2/+2 | |
| | | | | | data-structures were being returned. - Fixed an error when generating class signatures in annotations in .class files, in which the class-name was being generated instead. | |||||
* | - VarT and ExT types are now treated as java.lang.Object. | Eduardo Julian | 2016-02-29 | 6 | -60/+193 | |
| | | | | | - Now wrapping primitive method arguments inside objects, as Lux code always assumes everything is an object. - Now using a hand-made text lexer, that is less tolerant of escaping-cleanup errors. - When packaging the contents of dependency JARs inside the output program JAR, the compressed size of the entries is recalculated with (.setCompressedSize -1), in order to avoid errors in the JarOutputStream. | |||||
* | - Added the means to convert characters into other things. | Eduardo Julian | 2016-02-22 | 7 | -31/+91 | |
| | | | | - Fixed character & integer comparisons. - Added the means to "apply" type-functions that are bound to type-variables. | |||||
* | - Fixed a bug when lexing text that contains escaped characters. | Eduardo Julian | 2016-02-20 | 1 | -3/+6 | |
| | ||||||
* | - The analyser disallows importing a module more than once. | Eduardo Julian | 2016-02-19 | 1 | -7/+9 | |
| |