Releases: LuxLang/lux
Releases · LuxLang/lux
0.3.2
- Better error messages
- Concurrency library
- Multi-line text literals
- Redefined tuples and variants as products and sums (both at the type-level and the data-structure-level)
- Finished support for generics
- Added the ability to add arbitrary meta-data to global definitions
- Now appending a hash of the name of the definition to the generated classes to avoid collisions in case-insensitive file-systems
- Syntax parsers now use Either instead of Maybe, to allow for useful error reporting in case a parser fails
- The $ macro was modified to do right-association rather than left-association
- Minor aesthetic changes to the standard library
0.3.1
- \open pattern-matching macro
- jvm-import macro for easily working with classes/interfaces
- Simplifed array operations
- Bugfix: Array operations don't infer array type
- do-to macro for working with objects
- Removed the $ suffix from AST functions
- Made the . (composition) function belong to lux, rather than lux/codata/function
- Renamed Error/Functor & Error/Monad to Either/Functor & Either/Monad
- Unified data/number/int & data/number/real as data/number
- Allow multiple prefixes for open
- Added % binding in "do" and "be" macros
- Optimization: Local var aliasing
- Optimization: Compile "unit" as the null pointer
0.3.0
- Several bug fixes.
- New Leiningen plugin for Lux.
- Support for Java generics.
- Can now use both Java libraries & Lux libraries in .jar format.
- Much better interop with the JVM.
- Expanded standard library (see https://github.com/LuxLang/stdlib)
- File & line information added to generated .class files for easier debugging.
- Text interpolation: e.g. (println (<> "Hello, #{name}#!"))
- Improved syntax for working with data-types.