aboutsummaryrefslogtreecommitdiff
path: root/source/lux/data (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-10-04- Removed the Lux source from the repo, as it now belongs to the lux/stdlib ↵Eduardo Julian12-1018/+0
package. - Removed de Apacke Commons Compress library, as Lux libraries will now be packaged as .jar files instead of as .tar.gz files. - The compiler no longer packages libraries, as that task will now be left for the build system.
2015-09-30- Changed the license in the project.clj file (had forgotten until now).Eduardo Julian3-0/+23
- Some minor updates to the standard library. - Some minor bug fixes & improvements. - program.lux has been removed.
2015-09-28- Added a rule that Void is a subtype of every other type.Eduardo Julian1-1/+1
- Added the type-checking rules for existential quantification (ExQ). - Fixed one of the rules for type-checking universal quantification (UnivQ).
2015-09-15- :: no longer demands prefixes for the struct membersEduardo Julian5-13/+13
- Fixed both lux/control/comonad;be & lux/codata/stream;\stream
2015-09-14- Renamed "this" to "_jvm_this".Eduardo Julian1-42/+0
- Movied lux/data/io to lux/codata/io.
2015-09-14- Added the possibility to define anonymous classes.Eduardo Julian2-1/+6
- Fixed some bugs.
2015-09-12- Primitive data-types can now be parameterized by other types.Eduardo Julian1-0/+3
2015-09-11- Updated the standard library.Eduardo Julian3-104/+75
2015-09-08- A few minor fixes in the standard library.Eduardo Julian4-21/+34
- The "impl" methods in lambda classes are now marked "final"
2015-09-06- Added the (untested) inference of tuple destructuring.Eduardo Julian1-2/+2
- Removed several (unnecessary) type annotations.
2015-09-06- Added type-inference when constructing tuples.Eduardo Julian1-2/+1
2015-09-06- Removed the (unnecessary) lux/meta/macro module.Eduardo Julian4-14/+7
2015-09-06- Expanded the standard library.Eduardo Julian5-11/+130
- Fixed some minor bugs. - Added the updated code for the parser (forgot to add it to a previous commit).
2015-09-02- Added a new (albeit small) I/O library with host-dependent functions.Eduardo Julian1-11/+0
2015-09-01- Added a macro to write recursive types.Eduardo Julian1-15/+6
- Corrected some code that still involved the old names for the list macros. - Corrected some code in the pattern-matcher analyser to it fails properly when encountering invalid pattern-syntax.
2015-08-31- Found a compromise with the issue of certain definitions clashing with ↵Eduardo Julian3-25/+25
each other when saving the class files in case-insensitive file-systems (https://github.com/LuxLang/lux/issues/8). The names of certain definitions were changed slightly to avoid clashes and the compiler throws an error if the names end up clashing prior to saving the .class file.
2015-08-30- Added call/cc to lux/codata/lazy.Eduardo Julian1-2/+2
- Added some minor compiler optimizations.
2015-08-30- Removed the (now obsolete) `' macro.Eduardo Julian3-15/+14
- Implemented hygienic macros by adding global symbol resolution inside the ` macro.
2015-08-29- Remove the (unnec) "All'" and "->'" macros.Eduardo Julian11-88/+88
- Improved the "struct" macro so that (once again) it doesn't ask for the prefixes of the members. - Added tests for the lux.reader namespace.
2015-08-29- Added some compiler optimizations.Eduardo Julian2-69/+9
- Removed the (unnecessary) lux/control/dict & lux/control/stack modules. - The "Meta" type is now a record instead of a variant.
2015-08-29- Removed the (unnecessary) lux/data/cont module.Eduardo Julian4-83/+52
- Removed the (unnecessary) lux/data/error module and moved it's structures to lux/data/either. - Implemented the \slots destructurer for records. - Implemented quicksort for lists as the "sort" function in lux/data/list. - Added tags for the Cursor type.
2015-08-28Changed the license from EPL to MPL.Eduardo Julian14-98/+56
2015-08-28Due to several performance issues and my inability to optimize them away due ↵Eduardo Julian2-31/+33
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 Julian2-33/+31
2015-08-17- Finished turning tags into indices.Eduardo Julian11-95/+95
- 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-05- Local vars can now longer have prefixed symbols.Eduardo Julian1-1/+1
2015-08-04- Struct definition no longer required prefixed members (now, it actually ↵Eduardo Julian11-96/+96
prohibits them).
2015-08-04- Renamed the Syntax type to AST.Eduardo Julian4-13/+16
- Created the lux/meta/ast module.
2015-08-04- Added a macro for exporting definitions (to not depend on the #export tag ↵Eduardo Julian2-2/+2
on definitions). - The "open" and "using" macros now work recursively on records.
2015-08-03- Type definitions inside the compiler data now hold the type itself.Eduardo Julian2-11/+27
- Value definitions inside the compiler data now hold the value itself. - Fixed a few bugs.
2015-08-03Implemented text-interpolation through a macro ("<>") in lux/data/textEduardo Julian3-20/+61
2015-08-02- Added a module for hashing.Eduardo Julian2-52/+43
- Refactored the standard library a bit. - Implemented the "loop" macro. - Added the expected type of expressions as a field in the compiler state. - Added syntactic sugar for using tuples with variants, in order to minimize the usage of brackets to delimit the contents of data-structures. - Fixed a bug wherein "macro-expand" was behaving like "macro-expand-all", and added a separate implementation for "macro-expand-all". - Fixed a few bugs.
2015-07-31- Did some refactoring of the standard library.Eduardo Julian16-298/+301
- Introduced 2 new modules: lux/data/tuple & lux/codata/function - Now doing safe reading of files. - Took the "let", "lambda" & "def" macros to their ultimate form. - Added some macros for doing better JVM interop. - Fixed a bug when compiling comparisons for doubles. - Changed the order in which arguments are compiled for all arithmetic operations, as the order is reversed (from the conventional order) in the JVM bytecode.
2015-07-29- lux;using no longer prefixes variables.Eduardo Julian3-5/+5
- Fixed several bugs with host (JVM) interop. - Now packaging everything in a .jar file ("program.jar").
2015-07-26- Changed the name of lux/host/java to lux/host/jvmEduardo Julian4-46/+35
- Completed lux/host/jvm - Modified (slightly) the syntax used in several host (JVM) special forms. - The "defsyntax" macro now binds all of the arguments it receives inside a variable named "tokens".
2015-07-26- Fixed a pattern-matching error where generalizations of types ↵Eduardo Julian3-6/+8
(universal-quantification / AllT) was not being taken into account properly when destructuring. - Fixed a compiler error wherein the types of definitions didn't generate (correctly) the structures necessary for storage inside the class _meta(data) field. - Improved both the "open" and "import" macros with extra features.
2015-07-25- The output directory is now being used as the cache.Eduardo Julian18-0/+1043
- "input" has been renamed as "source" and "output" has been renamed as "target".