aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge pull request #16 from LuxLang/more_tolerant_class_namesLuxLang2016-09-291-1/+1
|\ | | | | - Fixed a bug that was rejecting class names with underscores and oth…
| * - Fixed a bug that was rejecting class names with underscores and other ↵Eduardo Julian2016-09-291-1/+1
| | | | | | | | strange characters.
* | - Now optimizing the pattern for if/cond expressions.Eduardo Julian2016-09-243-0/+31
| |
* | - Now generating better error messages when trying to use a static/virtual ↵Eduardo Julian2016-09-241-25/+28
| | | | | | | | that belongs to a class's parent, instead of the class itself.
* | - Documented the optimizer module.Eduardo Julian2016-09-241-9/+155
| |
* | - Fixed a bug that allowed modules to refer to definitions of other ↵Eduardo Julian2016-09-243-24/+37
| | | | | | | | already-compiled modules without these being imported.
* | - Now optimizing the record accesses that are characteristic of get@ and ::.Eduardo Julian2016-09-243-0/+64
| |
* | - Lexer now allows , and _ as separators for numbers.Eduardo Julian2016-09-232-3/+13
| |
* | - Added conversions between byte/short and long.Eduardo Julian2016-09-232-25/+61
| | | | | | - Also added conversions between Char and Nat.
* | - Now using Nat as the type of both VarT and ExT.Eduardo Julian2016-09-231-2/+2
| |
* | - Now showing warnings when trying to use deprecated constructors and methods.Eduardo Julian2016-09-231-5/+9
| |
* | - java.lang.Error and its subclasses don't get checked anymore.Eduardo Julian2016-09-221-1/+2
| |
* | - Improved support for Nat.Eduardo Julian2016-08-166-24/+76
| |
* | - Added support for natural numbers (unsigned integers).Eduardo Julian2016-08-1414-24/+363
|/
* - Added a new compilation mode: REPL.Eduardo Julian2016-08-086-58/+118
| | | - Fixed the REPL.
* - Fixed a bug in the analysis of tuples, when the tuple-type is shorter than ↵Eduardo Julian2016-08-014-161/+161
| | | | the tuple-syntax.
* - Now storing the name of each scope as a list/stack of name-fragments, to ↵Eduardo Julian2016-07-304-21/+11
| | | | eliminate the need to keep an explicit cache for it.
* - Scope-names are no longer being reversed when generated, but only when ↵Eduardo Julian2016-07-306-54/+26
| | | | | compiling functions and captured vars. - Now caching scope-names (pre-joining) to ensure all checks needed during pre-scoping are identity checks.
* - Now streamlining simple "let" expressions when doing pattern-matching.Eduardo Julian2016-07-304-7/+30
|
* - Fixed a bug in the way type-adjustment happens during pattern-matching, in ↵Eduardo Julian2016-07-294-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.
* - A module's hash is also stored in the Compiler state and in the cached ↵Eduardo Julian2016-07-265-99/+114
| | | | classes, to check for inconsistencies in the dependencies when loading cached modules.
* - Improved error messages in analyser by adding cursor.Eduardo Julian2016-07-241-40/+23
|
* - Added the [bit count] procedure.Eduardo Julian2016-07-242-1/+22
|
* - Fixed a bug in which the signatures for multi-parameter generic classes ↵Eduardo Julian2016-07-232-6/+6
| | | | | where getting spaces between the parameter signatures, which is invalid. - Type-errors now include cursor information.
* - Added object/reference/pointer testing.Eduardo Julian2016-07-232-0/+36
|
* - Fixed the bug in the optimizer that was causing some functions to end up ↵Eduardo Julian2016-07-192-38/+62
| | | | with the same name.
* - Optimized the type-checker slightly by now using a 2-tuple for the ↵Eduardo Julian2016-07-132-24/+23
| | | | results, but instead just returning the fixpoints.
* - Added bitwise operations.Eduardo Julian2016-07-132-0/+86
|
* - Renamed LuxUtils to LuxRT.Eduardo Julian2016-07-115-35/+35
| | | - Fixed a bug in _lux_proc ["array" "get"].
* - The compiler no longer complains about not catching RuntimeException and ↵Eduardo Julian2016-07-104-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.
* - Small fixes to reader & type-system.Eduardo Julian2016-07-011-10/+4
| | | | - Test suites for reader, lexer and parser got updated. - Added unit-tests for type-system.
* - Fixed a bug in the way type-vars were flowing when type-checking JVM ↵Eduardo Julian2016-06-191-8/+8
| | | | method calls.
* - Implemented a procedure for loading JVM classes.Eduardo Julian2016-06-132-0/+24
|
* - Removed all the unnecessary stack-frame descriptors.Eduardo Julian2016-06-131-15/+0
|
* - Now avoiding unnecessary pops of the pattern-matching stack/cursor.Eduardo Julian2016-06-131-3/+11
|
* - Finished the test-sharing code.Eduardo Julian2016-06-136-398/+401
|
* - [WIP] sharing tests during pattern-matching.Eduardo Julian2016-06-064-177/+402
|
* - Fixed that bug that was causing method definitions to be set as final and ↵Eduardo Julian2016-05-222-6/+10
| | | | with strict-fp math.
* - Added Tail-Recursion Optimization.Eduardo Julian2016-05-225-104/+177
|
* - Merged _lux_alias into _lux_import.Eduardo Julian2016-05-213-30/+26
|
* - Now it's possible to pattern-match against variants using numeric indices.Eduardo Julian2016-05-213-20/+15
|
* - Now folding top-level function-classes into their owner def-classes.Eduardo Julian2016-05-214-100/+209
|
* - Improved the optimization of self-calls.Eduardo Julian2016-05-211-4/+9
|
* - Fixed a bug in which it was impossible to pattern-match against ↵Eduardo Julian2016-05-217-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 Julian2016-05-202-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 Julian2016-05-144-48/+93
| | | | of reference later on in definitions.
* - Optimized pattern-matching on the analyser-phase.Eduardo Julian2016-05-134-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 Julian2016-05-135-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 Julian2016-05-135-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 Julian2016-05-126-24/+24
|