aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* - Now resetting the mappings of the type-vars to avoid having undead ↵Eduardo Julian2017-03-112-4/+18
| | | | type-vars interfering with compilation.
* - Added temporary implementations for Nat division and remainder.Eduardo Julian2017-03-051-1/+40
| | | - Fixed a bug in the RT function for counting bits.
* - Fixed a bug in which the value of a loop wasn't being returned.Eduardo Julian2017-03-021-4/+2
|
* - Fixed some bugs when compiling pattern-matching.Eduardo Julian2017-02-281-7/+9
|
* - console.log is now defined when starting compilation, and not when LuxRT ↵Eduardo Julian2017-02-272-3/+3
| | | | is compiled, to avoid issues when compiling a partially-cached program.
* - Fixed a bug when compiling pattern-matching comparisons for several types.Eduardo Julian2017-02-271-4/+7
|
* - Implemented degree encoding.Eduardo Julian2017-02-271-245/+54
|
* - Fixed some bugs when compiling common procedures in JS.Eduardo Julian2017-02-271-2/+2
|
* - Now accepting JS objects as valid values (necessary for objects encoding ↵Eduardo Julian2017-02-271-1/+3
| | | | atoms).
* - Added try-catch procedure to JS backend.Eduardo Julian2017-02-262-2/+20
|
* - Added a new try-catch procedure.Eduardo Julian2017-02-265-7/+51
|
* - Implemented new IO procedures for JS.Eduardo Julian2017-02-261-1/+12
|
* - Increased the fixpoints limit to 64.Eduardo Julian2017-02-261-8/+8
|
* - Implemented math procedures for JS.Eduardo Julian2017-02-265-14/+68
| | | - Degree<->radian conversions are no longer math procedures.
* - Implemented bitwise operations in JS.Eduardo Julian2017-02-262-55/+107
|
* - Implemented "atom" and "process" procedures for JS.Eduardo Julian2017-02-261-13/+74
|
* - Exiting the program and getting the current time (in milliseconds) is now ↵Eduardo Julian2017-02-254-16/+49
| | | | done through procedures.
* - Re-designed (and implemented) the primitives for running processes/threads ↵Eduardo Julian2017-02-236-45/+186
| | | | as Lux procedures.
* - Re-designed atomic operations as common procedures.Eduardo Julian2017-02-237-80/+156
| | | | - Implemented atomic operations for the JVM. - Basic Lux types no longer rely on JVM classes.
* - Fixed a bug in the way the low and high 32 bits in a long were extracted ↵Eduardo Julian2017-02-221-2/+2
| | | | and cast to ints.
* - Implemented a variety of new procedures for text, chars, math and arrays.Eduardo Julian2017-02-2210-193/+564
|
* - No longer (uselessly) loading classes right after they get saved.Eduardo Julian2017-02-221-2/+2
|
* - Fixed a bug in the way characters where getting compiled to JS.Eduardo Julian2017-02-221-1/+1
|
* - The lexer can now recognize a escape-character for vertical tabs (\v).Eduardo Julian2017-02-221-0/+4
|
* - Now making sure custom analysis of per-platform procedures requires that ↵Eduardo Julian2017-02-222-2/+3
| | | | the compiler is running for the correct host platform.
* - Made some optimizations.Eduardo Julian2017-02-2110-217/+212
| | | | - Compiler can now distinguish between JVM and JS host state. - Now, complex (with subtyping) type-checking can be done only during JVM compilation.
* - Implemented caching mechanisms for JS.Eduardo Julian2017-02-202-33/+73
|
* - Now saving all the JS in a single file, instead of multiple files.Eduardo Julian2017-02-201-1/+33
|
* - Changed the order the cache is loaded.Eduardo Julian2017-02-201-3/+3
|
* - Some minor refactoring.Eduardo Julian2017-02-203-12/+10
|
* - Separated the platform-independent and platform-dependent components of ↵Eduardo Julian2017-02-194-238/+273
| | | | the caching mechanism.
* - Now storing the compiler's version and the module-file's hash inside the ↵Eduardo Julian2017-02-195-26/+24
| | | | module-descriptor, instead of .class files (to make it reusable across different compiler targets).
* - Added support for the new common procedures to the JVM backend.Eduardo Julian2017-02-174-64/+177
| | | - Fixed some bugs.
* - Added "assume" into list of recognized macros.Eduardo Julian2017-02-171-1/+1
|
* - Added more common procedures.Eduardo Julian2017-02-179-96/+145
| | | | | | | - Fixed some bugs in the type-checking of some common procedures. - Removed the "_name" field for generated classes. - Now compiling loops in JS. - Did some refactoring to the caching machinery. - Implemented binary, octal and hexadecimal encoding purely in Lux.
* - Implemented several new procedures.Eduardo Julian2017-02-1615-294/+707
| | | | | | - Improved Lux-to-JS interactions. - Parallel compilation works for the JS backend. - Added more primitive functionality to the JS runtime. - More common procedures.
* - Re-organized JVM-specific compilation a bit.Eduardo Julian2017-02-115-2937/+3016
|
* - Now doing common array analysis/compilation.Eduardo Julian2017-02-119-212/+436
| | | | | | | - Now doing common io/log! analysis/compilation. - Now doing common char/to-text analysis/compilation. - Expanded compilation of procedures in JS. - Expanded LuxRT in JS. - Fixed some bugs.
* - Reorganized the code related to _lux_proc a bit.Eduardo Julian2017-02-0710-607/+465
| | | - Implemented some of the low-level machinery for 64-bit integers.
* - Added support for compiling _lux_proc (some procedures).Eduardo Julian2017-02-0515-335/+1131
| | | | - Added support for compiling (some) procedures, captured-variables, iteration, if-expressions and get-expressions. - Fixed some bugs.
* - Improved conversions to/from JS.Eduardo Julian2017-02-027-70/+74
| | | | - Improved macro calls. - Improved pattern-matching.
* - WIP: Code for compiling Lux to JavaScript. Can handle some complex ↵Eduardo Julian2017-02-015-1/+1780
| | | | | expressions, like functions and pattern-matching. - Currently working on macros.
* - Now wrapping macros to make sure all macros can be invoked, regardless of ↵Eduardo Julian2017-02-014-6/+8
| | | | whether it's JVM code or any other kind of code.
* - The data for checking which exceptions are being catched has been moved ↵Eduardo Julian2017-01-304-27/+31
| | | | from the host state to the normal compiler state.
* - More refactorings.Eduardo Julian2017-01-308-123/+139
| | | | - Changed the place where module-compilation-state was being stored. - No longer keeping the compiler's name as part of the compiler's state.
* - Major refactoring to make it easier to introduce the new (JS) backend.Eduardo Julian2017-01-2916-341/+384
|
* - Removed several unnecessary CHECKCASTs.Eduardo Julian2017-01-293-188/+140
|
* - Some refactorings and small expansions to lux/math.Eduardo Julian2017-01-295-21/+34
|
* - Expanded the lux/concurrency/frp module.Eduardo Julian2017-01-283-10/+139
| | | - Some refactoring.
* - Added support for fuzzy logic.Eduardo Julian2017-01-283-1/+327
|