Releases: rpasta42/LambdaOxide
Getting close to having v2 interpreter re-write working
Barely any changes to original interpreter, but I'm close to getting new interpreter re-write working. The new Sexps is a lot more flexible and has less pointer mess than the original version, which will simplify adding new language features. The new parser accepted multiple expression on the same line, and modified lexer supports lisp quotes.
I also started writing experimental LLVM compiler that parses the Sexps. It's in very early stages, but I'm re-structuring interpreter for easy integration with JIT.
- Cons will be supported as build-in type instead of being emulated with lambdas, dramatically increasing performance of cons cell manipulations.
- Lists will use Rust's Vec type
- Much better error handing. If file has an error somewhere, then it doesn't get silently ignored.
Working lisp interpreter and loader for external files.
Turing-complete lisp interpreter. Finally have recursion working and a few library functions (cons, car, cdr, cadr, map, filter).
Lambdalicious!
Almost a language!
All this code works as expected:
(define x (lambda (a b) b)
(car (cons 1 2))
(load "test.lam")
Getting ready to implement lambda functions and macro's
Got basic lexing, parsing, define, + and - working