aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* [Working on]Eduardo Julian2015-01-293-52/+98
| | | | | | - The monadic implementation of macros is almost done. - Missing error-handling. [Fixes] - The output folder is now generated on each compiler run to avoid exceptions thrown by the class-loader.
* [Bugs]Eduardo Julian2015-01-292-201/+170
| | | | | | - Fixed the errors in the compiler due to its restructuring as monadic code. - Fixed a bug in the analyser where 'case' forms has "Nothing" as their type. [Refactor] - Now there only one way to raise/fold lambda-bodies.
* [Bug]Eduardo Julian2015-01-281-5/+14
| | | | | - The analyser trying to match function calls first was messing around with variant construction. [Working on] - Monadic macros.
* [Enhancement]Eduardo Julian2015-01-283-259/+392
| | | | - The compiler is now working properly post-refactoring. - The code for generating lambdas was refactored, though it needs to be broken-down further.
* [Working on]Eduardo Julian2015-01-273-806/+653
| | | | - Huge refactoring of the lux/compiler ns. - No more difference between compiling global lambda definitions vs regular lambdas.
* [Enhancement]Eduardo Julian2015-01-261-1/+70
| | | - 'def' with 'lambda' as value now experiences a rewrite to eliminate the localized lambda-name and use the name of the global-def for the sake of making it easier to understand to users/programmers.
* [Working on]Eduardo Julian2015-01-261-51/+13
| | | - Improved the way raise-bindings works.
* [Working on]Eduardo Julian2015-01-262-55/+178
| | | - Almost finished rebuilding lambda syntax so it always has local names and only takes 1 argument.
* WARNING: BrokenEduardo Julian2015-01-226-604/+535
| | | | | | | | | | | [Enhancements] - Restructured the lexer a bit. - Restructured the parser a lot. - Changed the syntax a bit. - Module-names are now separated from def-names by a colon (e.g. module/submodule:var) - i+ -> iadd, i- -> isub, i* -> imul, i/ -> idiv - Added a (incomplete) way to annotate defs. Currently, only serves to mark defs as macros. - Removed "import" and "use". "require" is meant to be the way to load modules. - Did some major refactoring, cleaning and upgrading in the analyser. Though there is still some work pending.
* [Enhancements]Eduardo Julian2015-01-205-138/+154
| | | | | - Simplified lexer. - Parser now does cleanup of comments & white-space, plus balancing of parens/brackets/braces and checking for even number of elements in records. - Lexer & parser now share state.
* [Cleanup]Eduardo Julian2015-01-196-604/+202
| | | | - Removed a lot of useless comments & logging. - Removed the useless test1.lux file.
* [Bugs]Eduardo Julian2015-01-194-128/+165
| | | | | | | | | | - Removed the issue that was causing the compiler to never display the true source of errors. [Enhancements] - Separated the prelude (lux.lux) and utils (util.lux) from the code at test2.lux - The compiler now handles module-separation a bit better [Cleanup] - Removed the unnecessary another.lux [Temporary] - The base classes/interfaces are now assumed to be in the "lux" module, but they must be moved to "lux/host"
* [Enhancements]Eduardo Julian2015-01-192-2/+2
| | | Source code is looked-up inside a "source" directory.
* [Enhancement]Eduardo Julian2015-01-193-9/+14
| | | .class files are now stored inside an "output" directory.
* [Bugs]Eduardo Julian2015-01-162-96/+190
| | | | | | | | - In let forms, the local had the wrong data-structure as a type. [Enhancements] - Can now instance objects. - Java-interop now handles array inputs. - System now has object array creation, storing and retrieving.
* [Bugs]Eduardo Julian2015-01-162-9/+99
| | | | | | Incomplete normalization of the names of lambda-classes. Incomplete coverage of primitive classes in signatures and class names. [Enhancements] Java interop can now handle sending primitive args (automatically unboxes wrappers).
* [Bugs]Eduardo Julian2015-01-162-22/+86
| | | | - Char pattern-matching is now handled better and defaults now work for it. - Text pattern-matching is now handled better and defaults now work for it.
* [Bugs]Eduardo Julian2015-01-162-20/+35
| | | | | | | | - 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-163-37/+50
|
* - Added pattern-matching on tuples.Eduardo Julian2015-01-162-124/+250
| | | - 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-123-407/+240
| | | | - Modified the implementation of ' (quote) to reflect this. - There is no longer a #Quote syntax token.
* - Added integer remainder.Eduardo Julian2015-01-113-26/+62
| | | | | - 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-113-62/+146
| | | - 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-112-51/+74
| | | | statically-known functions (global ones) better.
* - Added substraction, multiplication and division for ints.Eduardo Julian2015-01-115-16/+80
|
* * Changed the language so variants now store their elements directly, ↵Eduardo Julian2015-01-106-175/+166
| | | | | | 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-038-93/+90
|
* - Beginning to implement compiler in the language itself.Eduardo Julian2015-01-034-45/+24
| | | - The language can now handle more symbols on identifiers.
* The language now supports macros.Eduardo Julian2015-01-036-267/+316
|
* Fixed a bug in pattern-matching when expanding sequential tests.Eduardo Julian2015-01-022-22/+84
|
* Pattern matching compiler now generates optimized code.Eduardo Julian2015-01-023-506/+458
|
* Added string testing & multi-branching to pattern-matching.Eduardo Julian2014-12-262-5/+25
|
* Pattern-matching has been enriched with sub-structural matching.Eduardo Julian2014-12-262-44/+100
|
* Reimplemented basic pattern-matching.Eduardo Julian2014-12-265-94/+581
|
* 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-211-26/+26
|
* * Java interop is almost finished.Eduardo Julian2014-12-206-39/+218
| | | % _. and _.. syntax has been replaced with ::
* Removed ann-class, cleaned-up some old commented-out code & turned-off the ↵Eduardo Julian2014-12-203-105/+27
| | | | enabled logging.
* Now the language has full closures.Eduardo Julian2014-12-193-156/+231
|
* Almost finished implementing closures.Eduardo Julian2014-12-193-51/+134
|
* Now folding the classes for lambdas and putting the implementation code ↵Eduardo Julian2014-12-181-74/+105
| | | | inside the classes, not inside the module.
* All the classes that used to be generated per function have now been folded ↵Eduardo Julian2014-12-182-81/+128
| | | | into one.
* Added some pseudo pattern-matching (only extracting simple data, without ↵Eduardo Julian2014-12-164-73/+140
| | | | exploring inner structure or doing any testing).
* + Strings now have escape characters.Eduardo Julian2014-12-165-26/+78
| | | | + Characters have been added. % Unicode support is missing...
* Added ints and floats.Eduardo Julian2014-12-154-7/+32
|
* Added "do" expressions.Eduardo Julian2014-12-154-5/+26
|
* Added lambdas! (not yet real closures, but coming soon...)Eduardo Julian2014-12-155-27/+186
|
* Added tuples.Eduardo Julian2014-12-153-92/+21
|
* Now defining functions as classes inheriting Function.Eduardo Julian2014-12-142-25/+122
|