aboutsummaryrefslogtreecommitdiff
path: root/src/lang (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-01-02Fixed a bug in pattern-matching when expanding sequential tests.Eduardo Julian2-22/+84
2015-01-02Pattern matching compiler now generates optimized code.Eduardo Julian2-248/+305
2014-12-26Added string testing & multi-branching to pattern-matching.Eduardo Julian2-5/+25
2014-12-26Pattern-matching has been enriched with sub-structural matching.Eduardo Julian2-44/+100
2014-12-26Reimplemented basic pattern-matching.Eduardo Julian4-93/+309
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 Julian5-38/+218
% _. and _.. syntax has been replaced with ::
2014-12-20Removed ann-class, cleaned-up some old commented-out code & turned-off the ↵Eduardo Julian3-105/+27
enabled logging.
2014-12-19Now the language has full closures.Eduardo Julian2-155/+231
2014-12-19Almost finished implementing closures.Eduardo Julian2-50/+133
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 Julian3-71/+139
exploring inner structure or doing any testing).
2014-12-16+ Strings now have escape characters.Eduardo Julian4-24/+74
+ Characters have been added. % Unicode support is missing...
2014-12-15Added ints and floats.Eduardo Julian3-5/+31
2014-12-15Added "do" expressions.Eduardo Julian3-4/+26
2014-12-15Added lambdas! (not yet real closures, but coming soon...)Eduardo Julian4-16/+171
2014-12-15Added tuples.Eduardo Julian2-0/+20
2014-12-14Now defining functions as classes inheriting Function.Eduardo Julian1-24/+103
2014-12-14Added module imports.Eduardo Julian3-35/+83
2014-12-14Added Java class imports.Eduardo Julian3-18/+42
2014-12-13+ Removed "module" special form.Eduardo Julian3-18/+8
+ Fixed a bug that was preventing multi-line comments from being truly multi-line.
2014-12-12Added let (local vars).Eduardo Julian3-9/+31
2014-12-12Analyser can now distinguish between local and global vars & point the ↵Eduardo Julian2-37/+55
compiler to the right place to look for data.
2014-12-11+ Added an analysis phase.Eduardo Julian4-95/+393
+ 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 Julian2-13/+36
declarations.
2014-12-08Can now define inside modules: simple classes with public fields.Eduardo Julian2-2/+27
2014-12-08Added modules.Eduardo Julian2-42/+65
2014-12-07Fixed the bug that was causing &lexer/lex-form to be used unbound.Eduardo Julian2-60/+40
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 Julian3-566/+115
compilation phase (the ASM library already works as a state monad).
2014-12-04Now compiles booleans and ifs.Eduardo Julian3-7/+41
2014-12-02Added some super-basic type-system.Eduardo Julian4-16/+92
2014-12-01Doing some basic compilation.Eduardo Julian3-28/+121
2014-12-01* Time to start compiling...Eduardo Julian2-6/+98
2014-11-29+ Added simple let expressions. (No destructuring of tuples/records yet)Eduardo Julian4-20/+107
+ Added records and simple operations on them (get, set & remove).
2014-11-29+ Added floats.Eduardo Julian4-36/+30
+ Added def for constants.
2014-11-28+ Added single-line comments.Eduardo Julian1-4/+51
+ Added multi-line comments, with nesting.
2014-11-27+ Added some very basic pattern-matching with destructuring.Eduardo Julian3-7/+49
2014-11-26+ Can now define functions.Eduardo Julian5-61/+301
% However, they currently access Clojure's environment, instead of the interpreter's.