aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [Bugs]Eduardo Julian2015-01-163-24/+59
| | | | | | | | - Not all outside vars needed by lambdas were actually captured. - Needed vars weren't always captured in the right order. - The names of global-var classes weren't being generated properly to account for symbols/punctuation. [Enhancements] - The system now uses a brand-new ClassLoader on every run to speed-up development.
* Fixed a bug in the ' macro.Eduardo Julian2015-01-164-89/+142
|
* - Added pattern-matching on tuples.Eduardo Julian2015-01-163-140/+307
| | | - Extended a bit the types of syntax that can be handled inside macros.
* - Greatly simplified the AST and made it more macro-friendly.Eduardo Julian2015-01-124-418/+282
| | | | - Modified the implementation of ' (quote) to reflect this. - There is no longer a #Quote syntax token.
* - Added integer remainder.Eduardo Julian2015-01-114-43/+92
| | | | | - Now, can handle boolean returns from methods. - Static functions now define a "_datum" field containing an empty instance. - Fixed a bug when analysing lambdas that made their arguments get treated like they were closure variables.
* - Fixed a small bug regarding functions calling themselves recursively.Eduardo Julian2015-01-114-150/+221
| | | - Getting static fields and calling virtual methods has now been decomplected into their own special forms.
* - Compiler now handles automatic partial applications and calls to ↵Eduardo Julian2015-01-113-55/+102
| | | | statically-known functions (global ones) better.
* - Added substraction, multiplication and division for ints.Eduardo Julian2015-01-116-19/+90
|
* * Changed the language so variants now store their elements directly, ↵Eduardo Julian2015-01-107-183/+232
| | | | | | instead of relying on a tuple. * Changed the pattern-matching and variant generation code accordingly. * Also changed a bit the special form for defining classes.
* - Boolean is now BoolEduardo Julian2015-01-035-34/+33
| | | | | - Integer is now Int - Float is now Real - String is now Text
* The language officially has a name: Lux (stylized as "lux").Eduardo Julian2015-01-0310-109/+134
|
* - Beginning to implement compiler in the language itself.Eduardo Julian2015-01-035-46/+70
| | | - The language can now handle more symbols on identifiers.
* The language now supports macros.Eduardo Julian2015-01-037-323/+389
|
* Fixed a bug in pattern-matching when expanding sequential tests.Eduardo Julian2015-01-023-51/+124
|
* Pattern matching compiler now generates optimized code.Eduardo Julian2015-01-024-536/+481
|
* Added string testing & multi-branching to pattern-matching.Eduardo Julian2014-12-263-6/+31
|
* Pattern-matching has been enriched with sub-structural matching.Eduardo Julian2014-12-264-53/+112
|
* Reimplemented basic pattern-matching.Eduardo Julian2014-12-266-130/+639
|
* The machinery is in place to allow loading modules at runtime.Eduardo Julian2014-12-212-14/+23
|
* Now compiling module contants as separate classes with single data fields.Eduardo Julian2014-12-212-27/+27
|
* * Java interop is almost finished.Eduardo Julian2014-12-207-41/+220
| | | % _. and _.. syntax has been replaced with ::
* Removed ann-class, cleaned-up some old commented-out code & turned-off the ↵Eduardo Julian2014-12-204-115/+27
| | | | enabled logging.
* Now the language has full closures.Eduardo Julian2014-12-194-162/+242
|
* Almost finished implementing closures.Eduardo Julian2014-12-194-61/+143
|
* Now folding the classes for lambdas and putting the implementation code ↵Eduardo Julian2014-12-182-74/+114
| | | | inside the classes, not inside the module.
* All the classes that used to be generated per function have now been folded ↵Eduardo Julian2014-12-183-82/+130
| | | | into one.
* Added some pseudo pattern-matching (only extracting simple data, without ↵Eduardo Julian2014-12-165-74/+143
| | | | exploring inner structure or doing any testing).
* + Strings now have escape characters.Eduardo Julian2014-12-166-28/+82
| | | | + Characters have been added. % Unicode support is missing...
* Added ints and floats.Eduardo Julian2014-12-155-9/+36
|
* Added "do" expressions.Eduardo Julian2014-12-155-6/+29
|
* Added lambdas! (not yet real closures, but coming soon...)Eduardo Julian2014-12-157-29/+198
|
* Added tuples.Eduardo Julian2014-12-154-93/+26
|
* Now defining functions as classes inheriting Function.Eduardo Julian2014-12-143-26/+126
|
* Added module imports.Eduardo Julian2014-12-146-46/+95
|
* Added Java class imports.Eduardo Julian2014-12-145-24/+95
|
* + Removed "module" special form.Eduardo Julian2014-12-135-31/+19
| | | + Fixed a bug that was preventing multi-line comments from being truly multi-line.
* Added let (local vars).Eduardo Julian2014-12-125-11/+37
|
* Analyser can now distinguish between local and global vars & point the ↵Eduardo Julian2014-12-123-39/+57
| | | | compiler to the right place to look for data.
* + Added an analysis phase.Eduardo Julian2014-12-115-96/+423
| | | + Added a type-system.
* Now compiling tagged values.Eduardo Julian2014-12-093-4/+37
|
* Now can define constants in modules.Eduardo Julian2014-12-093-6/+26
|
* Modules can now contain definitions of simple interfaces, with only method ↵Eduardo Julian2014-12-093-13/+39
| | | | declarations.
* Can now define inside modules: simple classes with public fields.Eduardo Julian2014-12-084-2/+32
|
* Added modules.Eduardo Julian2014-12-084-46/+87
|
* Fixed the bug that was causing &lexer/lex-form to be used unbound.Eduardo Julian2014-12-072-60/+40
|
* Fixed bug that was causing function-calls to fail.Eduardo Julian2014-12-072-3/+5
|
* Cleaned up a lot of useless code and removed the state monad from the ↵Eduardo Julian2014-12-075-578/+127
| | | | compilation phase (the ASM library already works as a state monad).
* Now compiles booleans and ifs.Eduardo Julian2014-12-044-7/+45
|
* Added some super-basic type-system.Eduardo Julian2014-12-026-18/+105
|
* Doing some basic compilation.Eduardo Julian2014-12-015-28/+149
|