aboutsummaryrefslogtreecommitdiff
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-05-13- The expected-type in the compiler-state is now a (Maybe Type), instead of ↵Eduardo Julian5-165/+184
a Type. - Simplified and optimized the pattern-matching done during the analysis phase. - Fixed the bug that caused the JVM garbage-collector to go crazy after running the compiler.
2016-05-13- Fixed a bug that allowed pattern-matching using unknown tags to proceed.Eduardo Julian5-27/+72
- 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-12- Now with better localization for reader, lexer & parser errors.Eduardo Julian6-24/+24
2016-05-11- Now generating variants of the "apply" method of lux/Function up to 8 arities.Eduardo Julian7-112/+70
2016-05-11- Now fusing impl and apply1 for 1-arity functions.Eduardo Julian1-80/+90
- Now avoiding to "reset" functions at stage 0, when called with an apply-N where N = arity.
2016-05-11- lux/Function is now an abstract class with 4 versions of apply, to improve ↵Eduardo Julian6-69/+176
performance when calling functions.
2016-05-10- Added an optimization to fold directly-nested functions and fuse them into ↵Eduardo Julian13-296/+640
multi-argument functions.
2016-05-08- Removed _jvm_class, _jvm_interface and _jvm_anon-class from the list of ↵Eduardo Julian10-675/+732
special forms.
2016-05-03- Made a small adjustment when packaging the .jars of programs, to avoid ↵Eduardo Julian1-1/+4
packaging .jars that are necessary for the compiler itself, but not for the Lux program that was compiled.
2016-05-03- Added multi-platform support for arrays.Eduardo Julian2-0/+83
2016-05-03- Now, showing the right error when trying to lex an ident with an ↵Eduardo Julian5-47/+94
invalid/unknown prefix.
2016-05-03- Renamed #DataT to #HostT.Eduardo Julian12-117/+126
- Renamed _lux_host to _lux_proc.
2016-05-03- Simplified the Analysis type.Eduardo Julian8-269/+256
- Renamed _jvm_program to _lux_program.
2016-05-03- Removed _jvm_instanceof from the list of special forms.Eduardo Julian6-90/+67
2016-05-02- Removed _jvm_try from the list of special forms.Eduardo Julian7-122/+50
- 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 Julian6-326/+260
_jvm_invokevirtual and _jvm_invokespecial from the list of special forms.
2016-05-02- Removed _jvm_getstatic, _jvm_getfield, _jvm_putstatic and _jvm_putfield ↵Eduardo Julian6-153/+114
from the list of special forms.
2016-05-01- Removed _jvm_monitorenter, _jvm_monitorexit and _jvm_throw from the list ↵Eduardo Julian6-238/+210
of special forms.
2016-05-01- Removed _jvm_null and _jvm_null? from the list of special forms.Eduardo Julian7-99/+83
2016-05-01- Simplified the language by eliminating coercion and macro-declaration from ↵Eduardo Julian6-23/+11
the analysis type.
2016-04-27- Unified dozens of host operations under the _lux_host special form.Eduardo Julian7-1576/+683
2016-04-26- Now using the actual class-names for arrays of primitives, instead of the ↵Eduardo Julian4-32/+49
#Array of "something" format.
2016-04-26- Now, the parser no longer ignores uneven-record errors.Eduardo Julian2-11/+23
2016-04-26- Made some fixes to type-inference for pattern-matching.Eduardo Julian4-45/+63
2016-04-21- Fixed a bug when lexing multi-line text.Eduardo Julian7-55/+37
- Made some minor refactorings.
2016-04-19- Added inference for pattern-matching on tuples, records and variants.Eduardo Julian3-19/+125
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