Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2016-05-03 | - Simplified the Analysis type. | Eduardo Julian | 1 | -4/+13 | |
- Renamed _jvm_program to _lux_program. | |||||
2016-05-01 | - Simplified the language by eliminating coercion and macro-declaration from ↵ | Eduardo Julian | 1 | -6/+10 | |
the analysis type. | |||||
2016-04-21 | - Fixed a bug when lexing multi-line text. | Eduardo Julian | 1 | -6/+7 | |
- Made some minor refactorings. | |||||
2016-04-19 | - Added inference for pattern-matching on tuples, records and variants. | Eduardo Julian | 1 | -13/+44 | |
2016-03-09 | - Fixed a bug wherein type-variables were not getting properly cleaned and ↵ | Eduardo Julian | 1 | -3/+4 | |
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-02-29 | - VarT and ExT types are now treated as java.lang.Object. | Eduardo Julian | 1 | -11/+16 | |
- 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-08 | - Added support for strict floating-point arithmetic on methods. | Eduardo Julian | 1 | -13/+14 | |
2016-02-07 | - Fixed a bug when getting a value out of a variant (it was acting ↵ | Eduardo Julian | 1 | -50/+50 | |
improperly when dealing with "composed" variants). - Revamped the way variants are defined & used in the compiler. | |||||
2016-02-06 | - Fixed some bugs wherein type-variables being created where not getting ↵ | Eduardo Julian | 1 | -8/+11 | |
removed from types that used them. | |||||
2016-01-17 | - I overdid the switch from null to lux.base/unit-tag, so I reversed the ↵ | Eduardo Julian | 1 | -3/+3 | |
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 Julian | 1 | -5/+7 | |
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 Julian | 1 | -3/+3 | |
special String, rather than null. | |||||
2016-01-17 | - Now using the new utility methods in LuxUtils for working with variants/sums. | Eduardo Julian | 1 | -7/+10 | |
2016-01-05 | - Optimized the new "product" implementation to improve performance & memory ↵ | Eduardo Julian | 1 | -15/+15 | |
consumption. | |||||
2016-01-04 | - Switched from TupleT to ProdT (implementation-wise). | Eduardo Julian | 1 | -2/+3 | |
2016-01-02 | - Switched from TupleT to ProdT (type-wise). | Eduardo Julian | 1 | -10/+33 | |
2016-01-02 | - Switched from VariantT to SumT. | Eduardo Julian | 1 | -18/+18 | |
2016-01-02 | - Added the VoidT and UnitT types. | Eduardo Julian | 1 | -71/+80 | |
2016-01-02 | - Implemented the feature of adding arbitrary meta-data to definitions. | Eduardo Julian | 1 | -81/+30 | |
- Implemented exports, macros, tags and aliases on top of definition meta-data (a.k.a DefMeta). | |||||
2015-12-16 | - Changed the way methods are defined in class definitions. | Eduardo Julian | 1 | -31/+33 | |
2015-12-02 | - Made a variety of refactorings and minor changes. | Eduardo Julian | 1 | -1/+1 | |
- Generic class definitions are halfway done. | |||||
2015-12-01 | - Improved error reporting when pattern-matching on tuples. | Eduardo Julian | 1 | -24/+26 | |
- Improved error reporting when analysing functions. - Now handling arrays in class/interface/method definitions as a kind of GenericType, rather than as a GenericClass. | |||||
2015-11-29 | - Improved error messaging when building variants & tuples. | Eduardo Julian | 1 | -102/+107 | |
- Improved error messaging when type-checking. - Improved error messaging when applying functions. | |||||
2015-11-29 | - _lux_coerce no longer adds checkcast. | Eduardo Julian | 1 | -2/+1 | |
- 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-28 | - Added better support for existential quantification. | Eduardo Julian | 1 | -8/+26 | |
- No longer requiring type-parameters in JVM interop forms. | |||||
2015-10-27 | - Storage instructions during pattern matching when doing aliasing now use ↵ | Eduardo Julian | 1 | -3/+0 | |
the -1 index to signal no-op. - Removed unnecessary debugging logging. | |||||
2015-10-13 | - Added local var aliasing. | Eduardo Julian | 1 | -1/+7 | |
2015-10-13 | - Separated type coercions from type annotations. | Eduardo Julian | 1 | -2/+5 | |
- Enriched type annotatins. - Improved class->type convertions. - Improved showing AST. | |||||
2015-09-29 | - Cleaned-up the comments from the codebase. | Eduardo Julian | 1 | -112/+53 | |
2015-09-27 | - Lux programs can now use libraries for both the JVM (.jar files) and pure ↵ | Eduardo Julian | 1 | -1/+3 | |
Lux code (.tar.gz files). - Fixed a bug regarding indices and loading/storing from/to arrays. | |||||
2015-09-16 | - Now the file-name & the line numbers are stored inside the .class files ↵ | Eduardo Julian | 1 | -51/+78 | |
for debug info. | |||||
2015-09-14 | - Renamed "this" to "_jvm_this". | Eduardo Julian | 1 | -4/+3 | |
- Movied lux/data/io to lux/codata/io. | |||||
2015-09-13 | - Fixed bug wherein mutual recursion could occur between modules. | Eduardo Julian | 1 | -2/+5 | |
- Fixed bug wherein recompiling a previously cached module didn't always trigger all the necessary recompilations from dependent modules. | |||||
2015-09-12 | - Added exhaustiveness testing for exception-handling code. | Eduardo Julian | 1 | -13/+13 | |
- Added some optimizations for using List & Maybe within the compiler. | |||||
2015-09-12 | - Primitive data-types can now be parameterized by other types. | Eduardo Julian | 1 | -8/+4 | |
2015-09-10 | - Added inference during construction of variants. | Eduardo Julian | 1 | -33/+73 | |
2015-09-10 | - Implemented inference for constructing records. | Eduardo Julian | 1 | -51/+95 | |
2015-09-09 | - Added type inference for functions. | Eduardo Julian | 1 | -49/+81 | |
- Fixed a bug wherein the "case" macro ignored tokens when receiving uneven inputs. | |||||
2015-09-07 | - Type checking of polymorphic functions now relies on ExT types to ↵ | Eduardo Julian | 1 | -78/+83 | |
guarantee that type-variables don't unify to anything, instead of relying on VarT types. - Fixed some bugs in the standard library due to improper behavior of the type-checker. - The analysis and pattern-matching code for records now reuses that of tuples. | |||||
2015-09-06 | - Added the (untested) inference of tuple destructuring. | Eduardo Julian | 1 | -13/+5 | |
- Removed several (unnecessary) type annotations. | |||||
2015-09-06 | - Added type-inference when constructing tuples. | Eduardo Julian | 1 | -30/+36 | |
2015-08-29 | - Added some compiler optimizations. | Eduardo Julian | 1 | -6/+0 | |
- Removed the (unnecessary) lux/control/dict & lux/control/stack modules. - The "Meta" type is now a record instead of a variant. | |||||
2015-08-28 | - Changed the name of AllT (for-all type) to UnivQ (universal quantification). | Eduardo Julian | 1 | -42/+21 | |
- UnivQ no longer stores the environment as key-val pairs with Text names, but instead stores it as type-lists with variables accessed via an index through a (updated) BoundT. - UnivQ no longer stores the name of the type-fun, not the name of the type-arg. | |||||
2015-08-28 | Changed the license from EPL to MPL. | Eduardo Julian | 1 | -7/+4 | |
2015-08-28 | Due to several performance issues and my inability to optimize them away due ↵ | Eduardo Julian | 1 | -127/+150 | |
to too many corner cases, I decided the abandon the path towards a more mathematical implementation of tuples & variants. | |||||
2015-08-23 | - Restructuring how sums & products work [part 3] | Eduardo Julian | 1 | -9/+13 | |
2015-08-23 | - Restructuring how sums & products work [part 1] | Eduardo Julian | 1 | -141/+114 | |
2015-08-17 | - Finished turning tags into indices. | Eduardo Julian | 1 | -29/+14 | |
- As an unexpected bonus, the compiler has become 2.5x faster. - Fixed some minor bugs. - Tag declarations now include associated types. - Tag declarations info is now stored twice (one from the perspective of tags, the other from the perspective of types). - Changed the named of the "types" member of the Compiler type, to "type-vars" to avoid collision with the "types" member of the Module type. | |||||
2015-08-16 | Introduced named types (#NamedT Ident Type). | Eduardo Julian | 1 | -4/+10 | |
2015-08-16 | Unified tuples & records. | Eduardo Julian | 1 | -1/+1 | |