Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2016-05-02 | - Removed _jvm_getstatic, _jvm_getfield, _jvm_putstatic and _jvm_putfield ↵ | Eduardo Julian | 1 | -43/+52 | |
from the list of special forms. | |||||
2016-05-01 | - Removed _jvm_monitorenter, _jvm_monitorexit and _jvm_throw from the list ↵ | Eduardo Julian | 1 | -99/+104 | |
of special forms. | |||||
2016-05-01 | - Removed _jvm_null and _jvm_null? from the list of special forms. | Eduardo Julian | 1 | -19/+23 | |
2016-04-27 | - Unified dozens of host operations under the _lux_host special form. | Eduardo Julian | 1 | -246/+346 | |
2016-04-21 | - Fixed a bug when lexing multi-line text. | Eduardo Julian | 1 | -1/+1 | |
- Made some minor refactorings. | |||||
2016-04-10 | - Improved the loading of classes when testing whether a module is cached. | Eduardo Julian | 1 | -1/+1 | |
- Fixed a bug in which null-pointers where being compiled, rather than references to the "unit" value. | |||||
2016-03-15 | - Fixed a bug in the way sub-indices for sub-tuples were being calculated ↵ | Eduardo Julian | 1 | -2/+2 | |
when doing product_getLeft. | |||||
2016-03-11 | - Fixed the way the CLI arguments are received by _jvm_program by using the ↵ | Eduardo Julian | 1 | -23/+9 | |
new format for data-structures. | |||||
2016-03-09 | - Fixed a bug wherein type-variables were not getting properly cleaned and ↵ | Eduardo Julian | 1 | -29/+34 | |
that was causing trouble with type-checking. - Fixed a bug in the way arguments for method-definitions were getting compiled. - Fixed a bug in the way double greater-than comparison was being compiled. - Fixed how exception signatures were getting compiled for method-definitions. | |||||
2016-03-06 | - Fixed an error when parsing annotations syntax, in which the wrong ↵ | Eduardo Julian | 1 | -1/+1 | |
data-structures were being returned. - Fixed an error when generating class signatures in annotations in .class files, in which the class-name was being generated instead. | |||||
2016-02-29 | - VarT and ExT types are now treated as java.lang.Object. | Eduardo Julian | 1 | -5/+74 | |
- Now wrapping primitive method arguments inside objects, as Lux code always assumes everything is an object. - Now using a hand-made text lexer, that is less tolerant of escaping-cleanup errors. - When packaging the contents of dependency JARs inside the output program JAR, the compressed size of the entries is recalculated with (.setCompressedSize -1), in order to avoid errors in the JarOutputStream. | |||||
2016-02-22 | - Added the means to convert characters into other things. | Eduardo Julian | 1 | -12/+17 | |
- Fixed character & integer comparisons. - Added the means to "apply" type-functions that are bound to type-variables. | |||||
2016-02-18 | - Now adding the contents of the "resources" directory into the class-path ↵ | Eduardo Julian | 1 | -2/+2 | |
and the generated JAR file. - Fixed a bug when generating the input list for _jvm_program. | |||||
2016-02-08 | - Both abstract & native methods can now have privacy modifiers. | Eduardo Julian | 1 | -4/+6 | |
2016-02-08 | - Added the ability to define native methods. | Eduardo Julian | 1 | -0/+14 | |
2016-02-08 | - Added the ability to define constant fields in classes. | Eduardo Julian | 1 | -14/+53 | |
2016-02-08 | - Added support for strict floating-point arithmetic on methods. | Eduardo Julian | 1 | -7/+11 | |
2016-02-07 | - Fixed a bug when getting a value out of a variant (it was acting ↵ | Eduardo Julian | 1 | -8/+20 | |
improperly when dealing with "composed" variants). - Revamped the way variants are defined & used in the compiler. | |||||
2016-02-07 | - Added support for "abstract" classes & methods. | Eduardo Julian | 1 | -0/+14 | |
2016-02-06 | - Added support for "final" fields, methods & classes. | Eduardo Julian | 1 | -4/+6 | |
2016-02-06 | - Added support for "volatile" modifier for fields. | Eduardo Julian | 1 | -15/+6 | |
- Minor style fixes. | |||||
2016-02-06 | - Added support for defining static methods in JVM classes. | Eduardo Julian | 1 | -0/+20 | |
- Fixed a bug wherein host data-types weren't getting cleaned when working with type variables. | |||||
2016-02-04 | - Fixed some bugs regarding the handling of sums & products. | Eduardo Julian | 1 | -10/+43 | |
- Added the capacity to specify access modifiers to both class fields & methods. - No longer including "META-INF/MANIFEST.MF" files of imported jars. | |||||
2016-01-17 | - Removed the tags off tuples/products & variants/sums, as they were no ↵ | Eduardo Julian | 1 | -18/+10 | |
longer necessary. | |||||
2016-01-17 | - Made an optimization to variants/sums, by encoding the last/tail flag as a ↵ | Eduardo Julian | 1 | -5/+4 | |
pointer (with null as false, and everything else as true). | |||||
2016-01-17 | - Added a special constructor for variants to ensure they don't take null ↵ | Eduardo Julian | 1 | -1/+36 | |
values. | |||||
2016-01-17 | - I overdid the switch from null to lux.base/unit-tag, so I reversed the ↵ | Eduardo Julian | 1 | -43/+43 | |
change on places where it was superfluous, to reduce the overhead of variable look-up during compilation. | |||||
2016-01-17 | - Fixed a bug introduced when I made the change for the "unit" value to be a ↵ | Eduardo Julian | 1 | -43/+43 | |
special String, rather than null. | |||||
2016-01-17 | - Now using the new utility methods in LuxUtils for working with variants/sums. | Eduardo Julian | 1 | -1/+51 | |
2016-01-16 | - Now using the new utility methods in LuxUtils for working with ↵ | Eduardo Julian | 1 | -1/+60 | |
tuples/products. | |||||
2016-01-05 | - Optimized the new "product" implementation to improve performance & memory ↵ | Eduardo Julian | 1 | -13/+13 | |
consumption. | |||||
2016-01-04 | - Switched from TupleT to ProdT (implementation-wise). | Eduardo Julian | 1 | -9/+15 | |
2016-01-02 | - Switched from VariantT to SumT. | Eduardo Julian | 1 | -3/+26 | |
2016-01-02 | - Added the VoidT and UnitT types. | Eduardo Julian | 1 | -1/+1 | |
2016-01-01 | - Modified _jvm_anewarray so it now works with generic classes. | Eduardo Julian | 1 | -4/+8 | |
2015-12-30 | - Fixed some bugs in the way _jvm_putfield & _jvm_putstatic special forms ↵ | Eduardo Julian | 1 | -8/+15 | |
were being compiled. - Fixed a bug in the way constructor arguments in constructor methods were being compiled. - Fixed small bugs in the lux.type.host/instance-param and lux.host.generics/gclass->class-name functions. | |||||
2015-12-30 | - Bug fixes: | Eduardo Julian | 1 | -10/+12 | |
- - Improved type generation for object-type during analysis of getstatic & putstatic. - - Improved type generation for _jvm_this object during analyse-method. - - Fixed a bug in how the $jvm-class data-structure was being generated for analyse-jvm-class. - - Fixed the format of the "captured-slot-type" for anonymous classes. - - Fixed some minor parsing bugs in lux.analyser.parser. - - Upgraded the version of the compiled bytecode to 0.3.2. - - Fixed the calls to putfield & putstatic in the compiler phase. - - Fixed signature generation for compile-jvm-instanceof. - - Fixed signature generation for class definition & signature definition. - - Fixed dummy-value & dummy-return so they work with generic types. - - Fixed the signature generation for use-dummy-class. - - Improved JVM generic signature generation. - - Fixed a bug when tracing a lineage class->interface. - - Fixed a bug in class-name->type wherein primitive-arrays where given various object-array types. | |||||
2015-12-24 | - Fixed a bug wherein the wrong super-class name was being generated (due to ↵ | Eduardo Julian | 1 | -2/+3 | |
a type error >_<) when generating the default constructor for anonymous classes. - Fixed a bug when tracing the lineage of interfaces when doing host-type type-checking. | |||||
2015-12-20 | - Fixed a bug wherein the cache became ineffective due to wrong file-paths ↵ | Eduardo Julian | 1 | -15/+11 | |
making the directories impossible to find. - Fixed a bug wherein the 'Function' class was getting erased when the compiler went on to compile the 'lux' module. | |||||
2015-12-19 | - Fixed some bugs regarding JVM interface definition. | Eduardo Julian | 1 | -3/+1 | |
- Removed (unnecessary) logging. | |||||
2015-12-16 | - Changed the way methods are defined in class definitions. | Eduardo Julian | 1 | -51/+116 | |
2015-12-06 | - lux.Function is now generated directly from the compiler, not from the ↵ | Eduardo Julian | 1 | -0/+17 | |
lux.lux file. | |||||
2015-12-06 | - Removed modifiers from field/method declaration. | Eduardo Julian | 1 | -6/+7 | |
2015-12-02 | - Made a variety of refactorings and minor changes. | Eduardo Julian | 1 | -92/+99 | |
- Generic class definitions are halfway done. | |||||
2015-11-30 | - Refactored some of the parsing done inside the analyser to a separate ↵ | Eduardo Julian | 1 | -19/+28 | |
namespace. - Added a new namespace for generating generics signatures for classes & methods. - Added generics-based polymorphism to JVM interface definition. - Fixed a bug wherein inconsistent bytecode versions where being used for the generation of classes (1.6 for some, 1.5 for others). | |||||
2015-11-29 | - _lux_coerce no longer adds checkcast. | Eduardo Julian | 1 | -14/+17 | |
- Now using the correct types for checkcast in arrays of primitives. - aaload, aastore and arraylength now add the appropriate checkcast for the arrays. | |||||
2015-11-29 | - _jvm_anon-class now requires that constructor arguments (with proper ↵ | Eduardo Julian | 1 | -18/+63 | |
type-tags) are given in order to construct the instances. | |||||
2015-11-28 | - Improved support for existential quantification. | Eduardo Julian | 1 | -0/+3 | |
2015-11-28 | - Added better support for existential quantification. | Eduardo Julian | 1 | -6/+12 | |
- No longer requiring type-parameters in JVM interop forms. | |||||
2015-10-13 | - Separated type coercions from type annotations. | Eduardo Julian | 1 | -1/+1 | |
- Enriched type annotatins. - Improved class->type convertions. - Improved showing AST. |