Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | - Removed _jvm_try from the list of special forms. | Eduardo Julian | 2016-05-02 | 7 | -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. | ||||
* | - Removed _jvm_new, _jvm_invokestatic, _jvm_invokeinterface, ↵ | Eduardo Julian | 2016-05-02 | 6 | -326/+260 |
| | | | | _jvm_invokevirtual and _jvm_invokespecial from the list of special forms. | ||||
* | - Removed _jvm_getstatic, _jvm_getfield, _jvm_putstatic and _jvm_putfield ↵ | Eduardo Julian | 2016-05-02 | 6 | -153/+114 |
| | | | | from the list of special forms. | ||||
* | - Removed _jvm_monitorenter, _jvm_monitorexit and _jvm_throw from the list ↵ | Eduardo Julian | 2016-05-01 | 6 | -238/+210 |
| | | | | of special forms. | ||||
* | - Removed _jvm_null and _jvm_null? from the list of special forms. | Eduardo Julian | 2016-05-01 | 7 | -99/+83 |
| | |||||
* | - Simplified the language by eliminating coercion and macro-declaration from ↵ | Eduardo Julian | 2016-05-01 | 6 | -23/+11 |
| | | | | the analysis type. | ||||
* | - Unified dozens of host operations under the _lux_host special form. | Eduardo Julian | 2016-04-27 | 7 | -1576/+683 |
| | |||||
* | - Now using the actual class-names for arrays of primitives, instead of the ↵ | Eduardo Julian | 2016-04-26 | 4 | -32/+49 |
| | | | | #Array of "something" format. | ||||
* | - Now, the parser no longer ignores uneven-record errors. | Eduardo Julian | 2016-04-26 | 2 | -11/+23 |
| | |||||
* | - Made some fixes to type-inference for pattern-matching. | Eduardo Julian | 2016-04-26 | 4 | -45/+63 |
| | |||||
* | - Fixed a bug when lexing multi-line text. | Eduardo Julian | 2016-04-21 | 7 | -55/+37 |
| | | | - Made some minor refactorings. | ||||
* | - Added inference for pattern-matching on tuples, records and variants. | Eduardo Julian | 2016-04-19 | 3 | -19/+125 |
| | |||||
* | - The compiler now takes the list of directories on which to look for source ↵ | Eduardo Julian | 2016-04-18 | 6 | -36/+36 |
| | | | | code during compilation. | ||||
* | - The REPL no longer dies as soon as the first error happens. | Eduardo Julian | 2016-04-16 | 4 | -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. | ||||
* | - Improved the loading of classes when testing whether a module is cached. | Eduardo Julian | 2016-04-10 | 2 | -53/+56 |
| | | | - Fixed a bug in which null-pointers where being compiled, rather than references to the "unit" value. | ||||
* | - Fixed a bug in the way sub-indices for sub-tuples were being calculated ↵ | Eduardo Julian | 2016-03-15 | 1 | -2/+2 |
| | | | | when doing product_getLeft. | ||||
* | - Added a REPL mode. | Eduardo Julian | 2016-03-12 | 8 | -21/+121 |
| | |||||
* | - Fixed the way the CLI arguments are received by _jvm_program by using the ↵ | Eduardo Julian | 2016-03-11 | 1 | -23/+9 |
| | | | | new format for data-structures. | ||||
* | - Fixed a bug wherein type-variables were not getting properly cleaned and ↵ | Eduardo Julian | 2016-03-09 | 7 | -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. | ||||
* | - Fixed an error when parsing annotations syntax, in which the wrong ↵ | Eduardo Julian | 2016-03-06 | 2 | -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. | ||||
* | - VarT and ExT types are now treated as java.lang.Object. | Eduardo Julian | 2016-02-29 | 6 | -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. | ||||
* | - Added the means to convert characters into other things. | Eduardo Julian | 2016-02-22 | 7 | -31/+91 |
| | | | | - Fixed character & integer comparisons. - Added the means to "apply" type-functions that are bound to type-variables. | ||||
* | - Fixed a bug when lexing text that contains escaped characters. | Eduardo Julian | 2016-02-20 | 1 | -3/+6 |
| | |||||
* | - The analyser disallows importing a module more than once. | Eduardo Julian | 2016-02-19 | 1 | -7/+9 |
| | |||||
* | - Added support for bounded polymorphism. | Eduardo Julian | 2016-02-19 | 5 | -58/+110 |
| | | | - Fixed some minor JVM-interop bugs. | ||||
* | - Now adding the contents of the "resources" directory into the class-path ↵ | Eduardo Julian | 2016-02-18 | 3 | -7/+31 |
| | | | | | and the generated JAR file. - Fixed a bug when generating the input list for _jvm_program. | ||||
* | - Added CompilerMode and CompilerInfo data to the Compiler state. | Eduardo Julian | 2016-02-17 | 6 | -24/+60 |
| | | | - Removed the (now unnecessary #;eval? tag). | ||||
* | - [Bug Fix] Can no longer compile expressions that are at the top-level ↵ | Eduardo Julian | 2016-02-16 | 1 | -3/+1 |
| | | | | (unlike statements). | ||||
* | - Now, you cannot use the tags of types that haven't been exported if you're ↵ | Eduardo Julian | 2016-02-15 | 5 | -13/+40 |
| | | | | not in that type's module. | ||||
* | - Improved the instantiation of generic types when using unparameterized ↵ | Eduardo Julian | 2016-02-15 | 3 | -9/+17 |
| | | | | | | classes. - Added beta-reduction for ExQ. - Improved ident->text. | ||||
* | - Can now use unicode characters in identifiers. | Eduardo Julian | 2016-02-15 | 2 | -25/+10 |
| | | | - Can now escape unicode characters in both Char and Text. | ||||
* | - Updated the compiler version to 0.3.3. | Eduardo Julian | 2016-02-14 | 4 | -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. | ||||
* | - Both abstract & native methods can now have privacy modifiers. | Eduardo Julian | 2016-02-08 | 4 | -26/+32 |
| | |||||
* | - Added the ability to define native methods. | Eduardo Julian | 2016-02-08 | 5 | -2/+55 |
| | |||||
* | - Added the ability to define constant fields in classes. | Eduardo Julian | 2016-02-08 | 7 | -31/+139 |
| | |||||
* | - Added support for strict floating-point arithmetic on methods. | Eduardo Julian | 2016-02-08 | 6 | -67/+77 |
| | |||||
* | - Fixed a bug when getting a value out of a variant (it was acting ↵ | Eduardo Julian | 2016-02-07 | 24 | -1202/+1215 |
| | | | | | improperly when dealing with "composed" variants). - Revamped the way variants are defined & used in the compiler. | ||||
* | - Added support for "abstract" classes & methods. | Eduardo Julian | 2016-02-07 | 5 | -2/+60 |
| | |||||
* | - Added support for "final" fields, methods & classes. | Eduardo Julian | 2016-02-06 | 7 | -33/+67 |
| | |||||
* | - Added support for "volatile" modifier for fields. | Eduardo Julian | 2016-02-06 | 5 | -31/+55 |
| | | | - Minor style fixes. | ||||
* | - Fixed some bugs wherein type-variables being created where not getting ↵ | Eduardo Julian | 2016-02-06 | 4 | -16/+21 |
| | | | | removed from types that used them. | ||||
* | - Added support for defining static methods in JVM classes. | Eduardo Julian | 2016-02-06 | 7 | -12/+103 |
| | | | - Fixed a bug wherein host data-types weren't getting cleaned when working with type variables. | ||||
* | - Fixed some bugs regarding the handling of sums & products. | Eduardo Julian | 2016-02-04 | 8 | -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. | ||||
* | - Updated the IO type in lux.type to reflect the new version of the IO type ↵ | Eduardo Julian | 2016-01-22 | 1 | -2/+2 |
| | | | | at lux/codata/io. | ||||
* | - Modified the syntax for multi-line text so line-delimiters (\ \) are no ↵ | Eduardo Julian | 2016-01-17 | 2 | -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. | ||||
* | - Removed the tags off tuples/products & variants/sums, as they were no ↵ | Eduardo Julian | 2016-01-17 | 3 | -32/+16 |
| | | | | longer necessary. | ||||
* | - Made an optimization to variants/sums, by encoding the last/tail flag as a ↵ | Eduardo Julian | 2016-01-17 | 3 | -12/+12 |
| | | | | pointer (with null as false, and everything else as true). | ||||
* | - Added a special constructor for variants to ensure they don't take null ↵ | Eduardo Julian | 2016-01-17 | 2 | -18/+38 |
| | | | | values. | ||||
* | - I overdid the switch from null to lux.base/unit-tag, so I reversed the ↵ | Eduardo Julian | 2016-01-17 | 11 | -110/+110 |
| | | | | change on places where it was superfluous, to reduce the overhead of variable look-up during compilation. | ||||
* | - Made a small modification to how variants/sums are created, to ensure ↵ | Eduardo Julian | 2016-01-17 | 3 | -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). |