aboutsummaryrefslogtreecommitdiff
path: root/luxc/src/lux/lexer.clj (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-11-29- Changed the identifier separator, from the semi-colon (;) to the ↵Eduardo Julian1-4/+6
period/dot (.).
2017-09-04- Re-named "real" numbers to "frac"(tions).Eduardo Julian1-3/+3
2017-07-02- Lux no longer has a Char primitive data-type.Eduardo Julian1-39/+0
2017-04-05- Made some improvements to error messages in the compiler.Eduardo Julian1-1/+1
2017-02-22- The lexer can now recognize a escape-character for vertical tabs (\v).Eduardo Julian1-0/+4
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-1/+1
2017-01-25- Renamed lux/data/struct/tree to lux/data/struct/tree/rose.Eduardo Julian1-7/+7
- 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-25- Now, only using underscores (_) as number digit separators, without using ↵Eduardo Julian1-5/+5
commas (,).
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-01- Finished adding Frac(tions) [including lexing/parsing].Eduardo Julian1-1/+4
2016-09-23- Lexer now allows , and _ as separators for numbers.Eduardo Julian1-3/+10
2016-08-14- Added support for natural numbers (unsigned integers).Eduardo Julian1-0/+3
2016-05-20- Fixed a bug when parsing the names of arguments in method definitions, ↵Eduardo Julian1-1/+1
wherein the names couldn't be full-blown (unprefixed) idents.
2016-05-12- Now with better localization for reader, lexer & parser errors.Eduardo Julian1-2/+2
2016-05-08- Removed _jvm_class, _jvm_interface and _jvm_anon-class from the list of ↵Eduardo Julian1-5/+5
special forms.
2016-05-03- Now, showing the right error when trying to lex an ident with an ↵Eduardo Julian1-40/+45
invalid/unknown prefix.
2016-04-26- Now using the actual class-names for arrays of primitives, instead of the ↵Eduardo Julian1-1/+1
#Array of "something" format.
2016-04-21- Fixed a bug when lexing multi-line text.Eduardo Julian1-43/+21
- Made some minor refactorings.
2016-02-29- VarT and ExT types are now treated as java.lang.Object.Eduardo Julian1-29/+81
- 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-20- Fixed a bug when lexing text that contains escaped characters.Eduardo Julian1-3/+6
2016-02-15- Can now use unicode characters in identifiers.Eduardo Julian1-4/+10
- Can now escape unicode characters in both Char and Text.
2016-02-14- Updated the compiler version to 0.3.3.Eduardo Julian1-1/+1
- 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.
2016-02-07- Fixed a bug when getting a value out of a variant (it was acting ↵Eduardo Julian1-26/+26
improperly when dealing with "composed" variants). - Revamped the way variants are defined & used in the compiler.
2016-01-17- Modified the syntax for multi-line text so line-delimiters (\ \) are no ↵Eduardo Julian1-50/+43
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.
2016-01-17- Now using the new utility methods in LuxUtils for working with variants/sums.Eduardo Julian1-1/+1
2016-01-05- Optimized the new "product" implementation to improve performance & memory ↵Eduardo Julian1-16/+16
consumption.
2015-12-31- Implemented multi-line text literals.Eduardo Julian1-9/+47
2015-11-29- No longer removing empty lines from source code when reading it. Now ↵Eduardo Julian1-1/+1
lexing them as whitespace. - Shifted version of the compiler to 0.3.1
2015-09-29- Cleaned-up the comments from the codebase.Eduardo Julian1-4/+2
2015-09-11- Implemented the with-open macro.Eduardo Julian1-16/+16
- Cleaned-up a bit the tag-generation macro "deftags".
2015-08-30- Added unit-tests for lexer.Eduardo Julian1-14/+6
- Fixed a bug when lexing multi-line comments.
2015-08-29- Added some compiler optimizations.Eduardo Julian1-9/+9
- Removed the (unnecessary) lux/control/dict & lux/control/stack modules. - The "Meta" type is now a record instead of a variant.
2015-08-28Changed the license from EPL to MPL.Eduardo Julian1-7/+4
2015-08-28Due to several performance issues and my inability to optimize them away due ↵Eduardo Julian1-33/+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 1]Eduardo Julian1-33/+33
2015-08-08More refactoring of tags, this time for reader, lexer & parser.Eduardo Julian1-17/+36
2015-08-06Started factoring out the tags used in variants within the compiler.Eduardo Julian1-9/+9
2015-07-19Added copyright notice on all files that missed it.Eduardo Julian1-0/+8
2015-07-12- Added the beginnings of the standard library.Eduardo Julian1-10/+10
- Fixed several bugs.
2015-05-24- Cleaned-up a few things in lux.luxEduardo Julian1-10/+9
- Replace most instances of "=" with ".equals". - Added an optimization to lux.type/type= that drastically speeds-up type comparisons.
2015-05-22- Corrected the indentation issues in the lux files.Eduardo Julian1-28/+28
- Temporarily reverted back to forward apply-analysis. - Fixed an error in lux.base/show-ast. - Reader now only returns a tuple instead of a full-blown #Meta variant. - Reader now doesn't cut the strings that it reads. Instead, the "cursor" just moves around, indicating where to read. - Inlined some calculations that previously relied on try-all%.
2015-05-14- Multi-line comments have returned.Eduardo Julian1-9/+18
2015-05-07- Eliminated #eval-ctor from the HostState and now #seed is used for the ↵Eduardo Julian1-15/+15
same purpose. - Optimized some code a bit.
2015-05-06- Made several optimizations to the compiler.Eduardo Julian1-1/+3
- Also removed several unused definitions.
2015-05-06- Removed all the unnecesary comments.Eduardo Julian1-13/+3
- Made some changes to the way type-checking is performed on variants, records & tuples in order to improve the speed of type-checking.
2015-05-03- Added ;;self-prefixes.Eduardo Julian1-5/+9
- Added a version of ` that prefixes unprefixed idents with the current module's name. - The special forms no longer require unprefixed symbols and work with anything (in order to work properly with the new `).
2015-05-03- Fixed escaping in charsEduardo Julian1-1/+1
- Added 2 custom pattern-matchers (\ & \or) & gensym - Added signatures & structures ^_^
2015-05-03- The type syntax is finally complete ^_^Eduardo Julian1-4/+9
- Finally, the "case" macro has been implemented ^_^ - The macro-expand function is also alive! - Corrected the field-access special forms so they take their field as a symbol instead of text. - Macros are no longer stored inside the CompilerState as (Maybe Macro), but as Macro. - Void is implemented as - Fixed an error when parsing escaped characters in text. - Fixed an error in the reader in which parsing regex2 gave back a 2-vector instead of a 2-tuple.
2015-04-28- Fixed some errors in lux.lux.Eduardo Julian1-1/+4
- Added the ability to export from def. - Added an optimized lambda macro. - Finished record analysis & compilation. - Fixed a bug in tuple, function & record analysis wherein AppT wasn't being performed prior to analysing the expression under analysis. - Fixed several bugs wherein "fail*" was needed but "fail" was used. - Added a case for records in base;show-ast. - Made an improvement for AllT in type;show-type. - Corrected an error in pattern-matching compilation wherein casts weren't being performed to make sure the source datum was of the necessary type for PM. - Removed the (now unnecessary) lux/macro.