Sameer Rahmani
468b446a4f
Enable repl history
2020-11-20 12:33:15 +00:00
Sameer Rahmani
28d7be6efd
Create the Block struct to accommodate function bodies
2020-11-19 22:17:50 +00:00
Sameer Rahmani
680017f0ce
Add the Def, and Fn special forms
2020-11-19 19:14:06 +00:00
Sameer Rahmani
ad37f02742
Restructure the source tree to get around circular dep issue
2020-11-15 22:16:48 +00:00
Sameer Rahmani
cba74e29af
Add the support for special forms
2020-11-15 21:38:09 +00:00
Sameer Rahmani
38baf577bb
Move reader and printer packages to the core package
2020-11-15 19:33:16 +00:00
Sameer Rahmani
95ec031ce6
Add a very basic eval function for symbols
2020-11-15 19:30:07 +00:00
Sameer Rahmani
a7457fceb6
Create a very basic runtime/ns/scope with a basic repl
2020-11-14 21:09:54 +00:00
Sameer Rahmani
c0fc5b152e
Add the simplest possible Number implementation
2020-11-14 12:22:13 +00:00
Sameer Rahmani
70bb8d1997
Fix the reader bug in readUnquotedExpr function
2020-11-14 11:02:09 +00:00
Sameer Rahmani
1bd3a41fb6
Create a basic parser in Golang
2020-11-14 10:51:25 +00:00
Sameer Rahmani
7f1080964a
Add antlr docker image and setup to generate the parser
2020-11-10 22:12:39 +00:00
Sameer Rahmani
67cf700ff6
Replace the F ing Rust implmentation with the boilerplate project in Go
2020-11-10 21:37:30 +00:00
Sameer Rahmani
cff76ac5a5
Moving the eval function to the core module
2020-11-10 20:14:30 +00:00
Sameer Rahmani
5c6518f7d6
Add the StringRepr trait to be used in printing evaluation results in REPL
...
All the expressions and basically anything that needs to be printed out into
the REPL as a result of evaluation has to implement this trait.
It differs from the `std::fmt::Display` trait in the way that the runtime
instance is available to this function.
2020-11-02 00:55:56 +00:00
Sameer Rahmani
0b63e6896e
Fix the license header to avoid collision with the docs
2020-11-02 00:11:12 +00:00
Sameer Rahmani
31c2083ddb
Create the symbol lookup in Symbol's eval fn
2020-11-02 00:06:55 +00:00
Sameer Rahmani
9181292651
Print debug data of reader and evaluator on the rep
2020-11-01 20:15:07 +00:00
Sameer Rahmani
124fd3e267
Move current implementation to the 'bootstrap' directory
...
Since we're decided to create a Serene interpreter to bootstrap
the self hosted compiler, I moved the current implementation to
bootstrap directory and setup a very basic REPL.
2020-11-01 19:40:07 +00:00