aboutsummaryrefslogtreecommitdiff
path: root/src/lang/compiler.clj (follow)
Commit message (Collapse)AuthorAgeFilesLines
* * Java interop is almost finished.Eduardo Julian2014-12-201-14/+50
| | | % _. and _.. syntax has been replaced with ::
* Removed ann-class, cleaned-up some old commented-out code & turned-off the ↵Eduardo Julian2014-12-201-68/+13
| | | | enabled logging.
* Now the language has full closures.Eduardo Julian2014-12-191-103/+125
|
* Almost finished implementing closures.Eduardo Julian2014-12-191-11/+43
|
* Now folding the classes for lambdas and putting the implementation code ↵Eduardo Julian2014-12-181-74/+105
| | | | inside the classes, not inside the module.
* All the classes that used to be generated per function have now been folded ↵Eduardo Julian2014-12-181-73/+125
| | | | into one.
* Added some pseudo pattern-matching (only extracting simple data, without ↵Eduardo Julian2014-12-161-41/+75
| | | | exploring inner structure or doing any testing).
* + Strings now have escape characters.Eduardo Julian2014-12-161-2/+11
| | | | + Characters have been added. % Unicode support is missing...
* Added ints and floats.Eduardo Julian2014-12-151-2/+14
|
* Added "do" expressions.Eduardo Julian2014-12-151-4/+13
|
* Added lambdas! (not yet real closures, but coming soon...)Eduardo Julian2014-12-151-6/+100
|
* Added tuples.Eduardo Julian2014-12-151-0/+14
|
* Now defining functions as classes inheriting Function.Eduardo Julian2014-12-141-24/+103
|
* Added module imports.Eduardo Julian2014-12-141-28/+52
|
* Added Java class imports.Eduardo Julian2014-12-141-11/+17
|
* + Removed "module" special form.Eduardo Julian2014-12-131-7/+3
| | | + Fixed a bug that was preventing multi-line comments from being truly multi-line.
* Added let (local vars).Eduardo Julian2014-12-121-0/+14
|
* Analyser can now distinguish between local and global vars & point the ↵Eduardo Julian2014-12-121-11/+23
| | | | compiler to the right place to look for data.
* + Added an analysis phase.Eduardo Julian2014-12-111-94/+113
| | | + Added a type-system.
* Now compiling tagged values.Eduardo Julian2014-12-091-2/+30
|
* Now can define constants in modules.Eduardo Julian2014-12-091-1/+21
|
* Modules can now contain definitions of simple interfaces, with only method ↵Eduardo Julian2014-12-091-13/+27
| | | | declarations.
* Can now define inside modules: simple classes with public fields.Eduardo Julian2014-12-081-2/+18
|
* Added modules.Eduardo Julian2014-12-081-42/+60
|
* Fixed the bug that was causing &lexer/lex-form to be used unbound.Eduardo Julian2014-12-071-22/+12
|
* Fixed bug that was causing function-calls to fail.Eduardo Julian2014-12-071-2/+4
|
* Cleaned up a lot of useless code and removed the state monad from the ↵Eduardo Julian2014-12-071-294/+115
| | | | compilation phase (the ASM library already works as a state monad).
* Now compiles booleans and ifs.Eduardo Julian2014-12-041-2/+29
|
* Added some super-basic type-system.Eduardo Julian2014-12-021-14/+59
|
* Doing some basic compilation.Eduardo Julian2014-12-011-26/+92
|
* + Added simple let expressions. (No destructuring of tuples/records yet)Eduardo Julian2014-11-291-0/+30
| | | + Added records and simple operations on them (get, set & remove).
* + Added floats.Eduardo Julian2014-11-291-3/+11
| | | + Added def for constants.
* + Added some very basic pattern-matching with destructuring.Eduardo Julian2014-11-271-0/+23
|
* + Can now define functions.Eduardo Julian2014-11-261-0/+136
% However, they currently access Clojure's environment, instead of the interpreter's.