aboutsummaryrefslogtreecommitdiff
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-04-18- The compiler now takes the list of directories on which to look for source ↵Eduardo Julian6-36/+36
code during compilation.
2016-04-16- The REPL no longer dies as soon as the first error happens.Eduardo Julian4-50/+59
- Writing "exit" in the REPL, kills it. - Fixed a bug wherein checking the presence of multiple methods with the same name being implemented, the names would overwrite each other and make some methods become impossible to check. - Fixed an error when type-checking parameterized host types. - Fixed a bug when loading the .lux files in JARs in the class-path.
2016-04-10- Improved the loading of classes when testing whether a module is cached.Eduardo Julian2-53/+56
- 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 Julian1-2/+2
when doing product_getLeft.
2016-03-12- Added a REPL mode.Eduardo Julian8-21/+121
2016-03-11- Fixed the way the CLI arguments are received by _jvm_program by using the ↵Eduardo Julian1-23/+9
new format for data-structures.
2016-03-09- Fixed a bug wherein type-variables were not getting properly cleaned and ↵Eduardo Julian7-73/+120
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 Julian2-2/+2
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 Julian6-60/+193
- 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 Julian7-31/+91
- Fixed character & integer comparisons. - Added the means to "apply" type-functions that are bound to type-variables.
2016-02-20- Fixed a bug when lexing text that contains escaped characters.Eduardo Julian1-3/+6
2016-02-19- The analyser disallows importing a module more than once.Eduardo Julian1-7/+9
2016-02-19- Added support for bounded polymorphism.Eduardo Julian5-58/+110
- Fixed some minor JVM-interop bugs.
2016-02-18- Now adding the contents of the "resources" directory into the class-path ↵Eduardo Julian3-7/+31
and the generated JAR file. - Fixed a bug when generating the input list for _jvm_program.
2016-02-17- Added CompilerMode and CompilerInfo data to the Compiler state.Eduardo Julian6-24/+60
- Removed the (now unnecessary #;eval? tag).
2016-02-16- [Bug Fix] Can no longer compile expressions that are at the top-level ↵Eduardo Julian1-3/+1
(unlike statements).
2016-02-15- Now, you cannot use the tags of types that haven't been exported if you're ↵Eduardo Julian5-13/+40
not in that type's module.
2016-02-15- Improved the instantiation of generic types when using unparameterized ↵Eduardo Julian3-9/+17
classes. - Added beta-reduction for ExQ. - Improved ident->text.
2016-02-15- Can now use unicode characters in identifiers.Eduardo Julian2-25/+10
- Can now escape unicode characters in both Char and Text.
2016-02-14- Updated the compiler version to 0.3.3.Eduardo Julian4-6/+12
- type->analysis can now handle ExQ. - Can now handle exponent syntax for reals. - Now adding v: and e: prefixes when showing type-vars and existential types, for improved readability.
2016-02-08- Both abstract & native methods can now have privacy modifiers.Eduardo Julian4-26/+32
2016-02-08- Added the ability to define native methods.Eduardo Julian5-2/+55
2016-02-08- Added the ability to define constant fields in classes.Eduardo Julian7-31/+139
2016-02-08- Added support for strict floating-point arithmetic on methods.Eduardo Julian6-67/+77
2016-02-07- Fixed a bug when getting a value out of a variant (it was acting ↵Eduardo Julian24-1202/+1215
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 Julian5-2/+60
2016-02-06- Added support for "final" fields, methods & classes.Eduardo Julian7-33/+67
2016-02-06- Added support for "volatile" modifier for fields.Eduardo Julian5-31/+55
- Minor style fixes.
2016-02-06- Fixed some bugs wherein type-variables being created where not getting ↵Eduardo Julian4-16/+21
removed from types that used them.
2016-02-06- Added support for defining static methods in JVM classes.Eduardo Julian7-12/+103
- 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 Julian8-59/+142
- 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-22- Updated the IO type in lux.type to reflect the new version of the IO type ↵Eduardo Julian1-2/+2
at lux/codata/io.
2016-01-17- Modified the syntax for multi-line text so line-delimiters (\ \) are no ↵Eduardo Julian2-56/+49
longer necessary, and necessary indentation is deduced from the column of the initial double-quote (") delimiting the text. - Modified some functions in the reader so they give back information as to whether the line was fully consumed or not after each reading.
2016-01-17- Removed the tags off tuples/products & variants/sums, as they were no ↵Eduardo Julian3-32/+16
longer necessary.
2016-01-17- Made an optimization to variants/sums, by encoding the last/tail flag as a ↵Eduardo Julian3-12/+12
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 Julian2-18/+38
values.
2016-01-17- I overdid the switch from null to lux.base/unit-tag, so I reversed the ↵Eduardo Julian11-110/+110
change on places where it was superfluous, to reduce the overhead of variable look-up during compilation.
2016-01-17- Made a small modification to how variants/sums are created, to ensure ↵Eduardo Julian3-40/+48
variants for which there is only 1 possible value just compile down to that value (into the same way that 1-tuples are compiled down to their single value).
2016-01-17- Fixed a bug introduced when I made the change for the "unit" value to be a ↵Eduardo Julian12-117/+117
special String, rather than null.
2016-01-17- Now using the new utility methods in LuxUtils for working with variants/sums.Eduardo Julian14-65/+123
2016-01-16- Now using the new utility methods in LuxUtils for working with ↵Eduardo Julian2-17/+78
tuples/products.
2016-01-05- Optimized the new "product" implementation to improve performance & memory ↵Eduardo Julian24-440/+428
consumption.
2016-01-04- Switched from TupleT to ProdT (implementation-wise).Eduardo Julian10-250/+314
2016-01-02- Switched from TupleT to ProdT (type-wise).Eduardo Julian9-103/+183
2016-01-02- Switched from VariantT to SumT.Eduardo Julian15-173/+246
2016-01-02- Added the VoidT and UnitT types.Eduardo Julian10-119/+178
2016-01-02- Implemented the feature of adding arbitrary meta-data to definitions.Eduardo Julian12-415/+403
- Implemented exports, macros, tags and aliases on top of definition meta-data (a.k.a DefMeta).
2016-01-01- Modified _jvm_anewarray so it now works with generic classes.Eduardo Julian7-49/+117
2015-12-31- Added support for wildcards in generic types.Eduardo Julian6-2/+29
2015-12-31- Implemented multi-line text literals.Eduardo Julian2-10/+48