aboutsummaryrefslogtreecommitdiff
path: root/src/lang/compiler.clj (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-01-03The language officially has a name: Lux (stylized as "lux").Eduardo Julian1-937/+0
2015-01-03- Beginning to implement compiler in the language itself.Eduardo Julian1-6/+6
- The language can now handle more symbols on identifiers.
2015-01-03The language now supports macros.Eduardo Julian1-89/+110
2015-01-02Fixed a bug in pattern-matching when expanding sequential tests.Eduardo Julian1-22/+79
2015-01-02Pattern matching compiler now generates optimized code.Eduardo Julian1-99/+155
2014-12-26Added string testing & multi-branching to pattern-matching.Eduardo Julian1-5/+20
2014-12-26Pattern-matching has been enriched with sub-structural matching.Eduardo Julian1-35/+76
2014-12-26Reimplemented basic pattern-matching.Eduardo Julian1-51/+105
2014-12-21The machinery is in place to allow loading modules at runtime.Eduardo Julian1-13/+22
2014-12-21Now compiling module contants as separate classes with single data fields.Eduardo Julian1-26/+26
2014-12-20* Java interop is almost finished.Eduardo Julian1-14/+50
% _. and _.. syntax has been replaced with ::
2014-12-20Removed ann-class, cleaned-up some old commented-out code & turned-off the ↵Eduardo Julian1-68/+13
enabled logging.
2014-12-19Now the language has full closures.Eduardo Julian1-103/+125
2014-12-19Almost finished implementing closures.Eduardo Julian1-11/+43
2014-12-18Now folding the classes for lambdas and putting the implementation code ↵Eduardo Julian1-74/+105
inside the classes, not inside the module.
2014-12-18All the classes that used to be generated per function have now been folded ↵Eduardo Julian1-73/+125
into one.
2014-12-16Added some pseudo pattern-matching (only extracting simple data, without ↵Eduardo Julian1-41/+75
exploring inner structure or doing any testing).
2014-12-16+ Strings now have escape characters.Eduardo Julian1-2/+11
+ Characters have been added. % Unicode support is missing...
2014-12-15Added ints and floats.Eduardo Julian1-2/+14
2014-12-15Added "do" expressions.Eduardo Julian1-4/+13
2014-12-15Added lambdas! (not yet real closures, but coming soon...)Eduardo Julian1-6/+100
2014-12-15Added tuples.Eduardo Julian1-0/+14
2014-12-14Now defining functions as classes inheriting Function.Eduardo Julian1-24/+103
2014-12-14Added module imports.Eduardo Julian1-28/+52
2014-12-14Added Java class imports.Eduardo Julian1-11/+17
2014-12-13+ Removed "module" special form.Eduardo Julian1-7/+3
+ Fixed a bug that was preventing multi-line comments from being truly multi-line.
2014-12-12Added let (local vars).Eduardo Julian1-0/+14
2014-12-12Analyser can now distinguish between local and global vars & point the ↵Eduardo Julian1-11/+23
compiler to the right place to look for data.
2014-12-11+ Added an analysis phase.Eduardo Julian1-94/+113
+ Added a type-system.
2014-12-09Now compiling tagged values.Eduardo Julian1-2/+30
2014-12-09Now can define constants in modules.Eduardo Julian1-1/+21
2014-12-09Modules can now contain definitions of simple interfaces, with only method ↵Eduardo Julian1-13/+27
declarations.
2014-12-08Can now define inside modules: simple classes with public fields.Eduardo Julian1-2/+18
2014-12-08Added modules.Eduardo Julian1-42/+60
2014-12-07Fixed the bug that was causing &lexer/lex-form to be used unbound.Eduardo Julian1-22/+12
2014-12-07Fixed bug that was causing function-calls to fail.Eduardo Julian1-2/+4
2014-12-07Cleaned up a lot of useless code and removed the state monad from the ↵Eduardo Julian1-294/+115
compilation phase (the ASM library already works as a state monad).
2014-12-04Now compiles booleans and ifs.Eduardo Julian1-2/+29
2014-12-02Added some super-basic type-system.Eduardo Julian1-14/+59
2014-12-01Doing some basic compilation.Eduardo Julian1-26/+92
2014-11-29+ Added simple let expressions. (No destructuring of tuples/records yet)Eduardo Julian1-0/+30
+ Added records and simple operations on them (get, set & remove).
2014-11-29+ Added floats.Eduardo Julian1-3/+11
+ Added def for constants.
2014-11-27+ Added some very basic pattern-matching with destructuring.Eduardo Julian1-0/+23
2014-11-26+ Can now define functions.Eduardo Julian1-0/+136
% However, they currently access Clojure's environment, instead of the interpreter's.