aboutsummaryrefslogtreecommitdiff
path: root/lux-bootstrapper/src/lux/type/host.clj (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-04-04Properly handling variance for arrays to avoid invalid subtyping.Eduardo Julian1-4/+12
2021-08-19Enabled compile-time code evaluation (i.e. "eval" function).Eduardo Julian1-10/+10
2021-07-14Normalized the hierarchy of the standard library modules.Eduardo Julian1-1/+1
2020-12-04Re-named old luxc-jvm to lux-bootstrapper.Eduardo Julian1-0/+0
2020-10-09Also using BIPUSH and SIPUSH during JVM generation.Eduardo Julian1-2/+7
2019-04-09WIP: Ruby compiler.Eduardo Julian1-9/+18
2019-04-09Fixed a host-related type-checking bug in the old compiler.Eduardo Julian1-26/+18
2018-08-29Method imports are now done as macros instead of functions.Eduardo Julian1-2/+4
2018-07-13Re-named "Bool" type to "Bit".Eduardo Julian1-1/+1
2018-07-04- Re-named "degree" to "revolution".Eduardo Julian1-1/+1
2018-07-04- Re-named Bound to Paremeter.Eduardo Julian1-2/+2
2018-05-20- Re-named "Top" to "Any", and "Bottom" to "Nothing".Eduardo Julian1-4/+4
- Removed some modules that should have been deleted before.
2018-05-13- Added new #I64 type as foundation for types based on 64-bit integers.Eduardo Julian1-2/+3
2018-05-05- Removed Void and Unit as kinds of types.Eduardo Julian1-10/+65
- Changed the value of "unit" in the old LuxC to match the one in new-luxc.
2017-10-20- Re-named "Host" to "Primitive".Eduardo Julian1-19/+19
2017-10-09- Fixed a bug when serializing JVM types.Eduardo Julian1-1/+1
2017-09-04- Re-named "real" numbers to "frac"(tions).Eduardo Julian1-1/+1
2017-05-07- Removed "T" suffix from Type's tags.Eduardo Julian1-21/+21
2017-04-05- Made some improvements to error messages in the compiler.Eduardo Julian1-7/+9
2017-02-23- Re-designed atomic operations as common procedures.Eduardo Julian1-37/+35
- Implemented atomic operations for the JVM. - Basic Lux types no longer rely on JVM classes.
2017-01-26- Changed the license from MPL 2.0 to MIT.Eduardo Julian1-5/+0
2017-01-25- Improved Lux error messages by ensuring the cursor is always present.Eduardo Julian1-6/+6
2017-01-25- Renamed lux/data/struct/tree to lux/data/struct/tree/rose.Eduardo Julian1-4/+4
- Moved lux/data/struct/zipper to lux/data/struct/tree/zipper. - Moved lux/regex to lux/lexer/regex. - Changed the suffix of annotation tags, from M to A. - Renamed Frac(tional) numbers to Deg(rees).
2016-12-01- Collected the Lux compiler's repo, the Standard Library's, the Leiningen ↵Eduardo Julian1-0/+0
plugin's and the Emacs mode's into a big monorepo, to keep development unified.
2016-10-03- Slight refactoring.Eduardo Julian1-25/+20
2016-09-30- Added (almost) all the operations for implementing fractions in the compiler.Eduardo Julian1-3/+8
- Still missing lexing for fractions...
2016-09-29- Fixed a bug that was rejecting class names with underscores and other ↵Eduardo Julian1-1/+1
strange characters.
2016-08-16- Improved support for Nat.Eduardo Julian1-2/+5
2016-08-14- Added support for natural numbers (unsigned integers).Eduardo Julian1-1/+7
2016-07-13- Optimized the type-checker slightly by now using a 2-tuple for the ↵Eduardo Julian1-4/+5
results, but instead just returning the fixpoints.
2016-05-21- Fixed a bug in which it was impossible to pattern-match against ↵Eduardo Julian1-2/+31
existentially-qualified types. - Improved error-reporting. - When loading a class post-compilation, the ClassLoader kept referring to the previous dummy version used during analysis, which meant the real class, with it's code, couldn't be used at compile time. Fixed this (with a hack, sadly...). - Fixed a bug in which using JVM type-vars with top-bounds different from java.lang.Object was not getting acknowledged by the compiler, and resulted in incorrect signatures for methods.
2016-05-03- Renamed #DataT to #HostT.Eduardo Julian1-13/+13
- Renamed _lux_host to _lux_proc.
2016-04-26- Now using the actual class-names for arrays of primitives, instead of the ↵Eduardo Julian1-14/+21
#Array of "something" format.
2016-04-16- The REPL no longer dies as soon as the first error happens.Eduardo Julian1-4/+6
- 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-02-19- Added support for bounded polymorphism.Eduardo Julian1-3/+5
- Fixed some minor JVM-interop bugs.
2016-02-15- Improved the instantiation of generic types when using unparameterized ↵Eduardo Julian1-1/+3
classes. - Added beta-reduction for ExQ. - Improved ident->text.
2016-02-08- Added the ability to define constant fields in classes.Eduardo Julian1-0/+27
2016-02-07- Fixed a bug when getting a value out of a variant (it was acting ↵Eduardo Julian1-28/+26
improperly when dealing with "composed" variants). - Revamped the way variants are defined & used in the compiler.
2016-01-17- I overdid the switch from null to lux.base/unit-tag, so I reversed the ↵Eduardo Julian1-4/+4
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 Julian1-4/+4
special String, rather than null.
2016-01-17- Now using the new utility methods in LuxUtils for working with variants/sums.Eduardo Julian1-2/+2
2016-01-05- Optimized the new "product" implementation to improve performance & memory ↵Eduardo Julian1-20/+20
consumption.
2016-01-02- Switched from VariantT to SumT.Eduardo Julian1-3/+3
2016-01-02- Added the VoidT and UnitT types.Eduardo Julian1-1/+1
2016-01-01- Modified _jvm_anewarray so it now works with generic classes.Eduardo Julian1-10/+26
2015-12-31- Added support for wildcards in generic types.Eduardo Julian1-1/+1
2015-12-31- Implemented multi-line text literals.Eduardo Julian1-1/+1
2015-12-31- [Refactor] Removed the (now unnecessary) lux.type.host/class-name->type ↵Eduardo Julian1-21/+0
function. - When compiling definitions, their names now carry a hash code to avoid file-name collisions when generating files in case-insensitive file-systems.
2015-12-30- Improved type-error reporting.Eduardo Julian1-3/+3
2015-12-30- Fixed some bugs in the way _jvm_putfield & _jvm_putstatic special forms ↵Eduardo Julian1-1/+25
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.