aboutsummaryrefslogtreecommitdiff
path: root/luxc/src/lux/compiler/host.clj (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-01-29- Major refactoring to make it easier to introduce the new (JS) backend.Eduardo Julian1-2762/+0
2017-01-29- Removed several unnecessary CHECKCASTs.Eduardo Julian1-183/+137
2017-01-26- Changed the license from MPL 2.0 to MIT.Eduardo Julian1-5/+0
2017-01-25- Improved Lux error messages by ensuring the cursor is always present.Eduardo Julian1-3/+3
2017-01-25- Renamed lux/data/struct/tree to lux/data/struct/tree/rose.Eduardo Julian1-67/+67
- Moved lux/data/struct/zipper to lux/data/struct/tree/zipper. - Moved lux/regex to lux/lexer/regex. - Changed the suffix of annotation tags, from M to A. - Renamed Frac(tional) numbers to Deg(rees).
2016-12-27- Now doing a CHECKCAST for method returns, to avoid having the JVM verifier ↵Eduardo Julian1-0/+5
complain about types.
2016-12-27- Fixed a bug when encoding .0, where every zero was removed and only "." ↵Eduardo Julian1-11/+21
remained.
2016-12-26- Now trimming unnecessary 0s when encoding Frac numbers, and missing zeroes ↵Eduardo Julian1-1/+14
won't be taken into account when decoding them.
2016-12-25- Now, only using underscores (_) as number digit separators, without using ↵Eduardo Julian1-1/+1
commas (,).
2016-12-25- Fixed Frac decoding.Eduardo Julian1-5/+22
2016-12-25- Re-implemented Frac decoding (currently buggy).Eduardo Julian1-144/+242
2016-12-24- Fixed Frac encoding.Eduardo Julian1-62/+216
2016-12-21- Fixed a bug when decoding nat numbers in the compiler.Eduardo Julian1-2/+2
2016-12-20- Fixed a bug in Frac encoding, where the prefix dot was not being added for ↵Eduardo Julian1-5/+7
non-zero numbers.
2016-12-06- Updated lux/host tests.Eduardo Julian1-2/+20
- Fixed a bug in the way the [jvm l2b] and [jvm l2s] procedures worked. - Fixed a bug in interface definition. - Relaxed the syntacting requirements of class/interface/anonymous-class definition macros.
2016-12-04- Removed "monitorenter" and "monitorexit" procedures.Eduardo Julian1-18/+0
2016-12-01- Collected the Lux compiler's repo, the Standard Library's, the Leiningen ↵Eduardo Julian1-0/+0
plugin's and the Emacs mode's into a big monorepo, to keep development unified.
2016-11-30- Fixed nat encoding and remainder.Eduardo Julian1-24/+45
- Fixed nat<->char conversions.
2016-11-25- Fixed some compiler code that was using java.lang.Long::compareUnsigned, ↵Eduardo Julian1-1/+1
instead of LuxRT's version
2016-11-13- Added a new way to handle synchronized blocks.Eduardo Julian1-49/+305
- Implemented Nat division, remainder, comparison, encode and decode on byte-code.
2016-11-06- Fixed a bug, wherein <clinit> methods were compiled as "public" instead of ↵Eduardo Julian1-19/+14
"static".
2016-11-03- Made some tentative changes to the compilation process, since not all ↵Eduardo Julian1-14/+19
bytecode that works on the JVM also works properly on Android. Further testing and tweaking is needed.
2016-10-15- Shifted the burden of not having null values inside variants from the ↵Eduardo Julian1-9/+20
language to library code.
2016-10-11- Optimized the compiler code by dealing with the reflection warnings.Eduardo Julian1-7/+7
2016-10-03- Fixed a bug wherein compiler code was relying on analyzer tags, instead of ↵Eduardo Julian1-1/+1
optimizer tags.
2016-10-01- Finished adding Frac(tions) [including lexing/parsing].Eduardo Julian1-211/+207
2016-09-30- Added (almost) all the operations for implementing fractions in the compiler.Eduardo Julian1-79/+532
- Still missing lexing for fractions...
2016-09-23- Lexer now allows , and _ as separators for numbers.Eduardo Julian1-0/+3
2016-09-23- Added conversions between byte/short and long.Eduardo Julian1-23/+41
- Also added conversions between Char and Nat.
2016-08-16- Improved support for Nat.Eduardo Julian1-1/+21
2016-08-14- Added support for natural numbers (unsigned integers).Eduardo Julian1-9/+215
2016-07-24- Added the [bit count] procedure.Eduardo Julian1-0/+12
2016-07-23- Added object/reference/pointer testing.Eduardo Julian1-0/+21
2016-07-13- Added bitwise operations.Eduardo Julian1-0/+47
2016-07-11- Renamed LuxUtils to LuxRT.Eduardo Julian1-15/+15
- Fixed a bug in _lux_proc ["array" "get"].
2016-06-13- Implemented a procedure for loading JVM classes.Eduardo Julian1-0/+10
2016-06-13- Removed all the unnecessary stack-frame descriptors.Eduardo Julian1-15/+0
2016-06-13- Finished the test-sharing code.Eduardo Julian1-170/+234
2016-05-21- Fixed a bug in which it was impossible to pattern-match against ↵Eduardo Julian1-6/+4
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.
2016-05-13- Fixed a bug that allowed pattern-matching using unknown tags to proceed.Eduardo Julian1-2/+7
- Streamlined invocation of functions when the args-list >= the arity. The impl method gets called immediately, instead of passing first by the apply method.
2016-05-11- Now generating variants of the "apply" method of lux/Function up to 8 arities.Eduardo Julian1-33/+10
2016-05-11- lux/Function is now an abstract class with 4 versions of apply, to improve ↵Eduardo Julian1-26/+83
performance when calling functions.
2016-05-10- Added an optimization to fold directly-nested functions and fuse them into ↵Eduardo Julian1-148/+170
multi-argument functions.
2016-05-08- Removed _jvm_class, _jvm_interface and _jvm_anon-class from the list of ↵Eduardo Julian1-2/+2
special forms.
2016-05-03- Added multi-platform support for arrays.Eduardo Julian1-0/+35
2016-05-03- Renamed #DataT to #HostT.Eduardo Julian1-9/+9
- Renamed _lux_host to _lux_proc.
2016-05-03- Simplified the Analysis type.Eduardo Julian1-74/+0
- Renamed _jvm_program to _lux_program.
2016-05-03- Removed _jvm_instanceof from the list of special forms.Eduardo Julian1-9/+11
2016-05-02- Removed _jvm_try from the list of special forms.Eduardo Julian1-54/+23
- 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.
2016-05-02- Removed _jvm_new, _jvm_invokestatic, _jvm_invokeinterface, ↵Eduardo Julian1-142/+150
_jvm_invokevirtual and _jvm_invokespecial from the list of special forms.