serene-golang-implementation/bootstrap
Sameer Rahmani 688d169286 Add the `let` special form alongside with locatable errors
Add the `let` sform not in the triditional way. In our case
the let scope is available to the bindings. Similar to clojure's let
and let* in triditional sense.

Also add the function `MakeErrorFor` which gets an extra arg, an
`IExpr` and returns an error with the location of that expression.
2020-11-25 19:19:48 +00:00
..
cmd Add a very basic eval function for symbols 2020-11-15 19:30:07 +00:00
pkg Add the `let` special form alongside with locatable errors 2020-11-25 19:19:48 +00:00
LICENSE Replace the F ing Rust implmentation with the boilerplate project in Go 2020-11-10 21:37:30 +00:00
README.org Add some documentation for the core package 2020-11-20 16:43:07 +00:00
go.mod Create a very basic runtime/ns/scope with a basic repl 2020-11-14 21:09:54 +00:00
go.sum Create a very basic runtime/ns/scope with a basic repl 2020-11-14 21:09:54 +00:00
serene.go Create a basic parser in Golang 2020-11-14 10:51:25 +00:00

README.org

Serene lang

Development hint

Use Make… functions

In order to create a new value in any type use the designated Make function, for example: MakeList

Setup development environment

Emacs

Rustic is highly recommended. Just install it and install the dependencies necessary on the Rust side. If you're using FG42, It already ships with Rustic installed.

Requirements on the Rust side

To setup the dev envrionment you need to have Clippy and RLS installed. Run the following commands to install them:

rustup component add rls --toolchain stable-x86_64-unknown-linux-gnu
rustup component add --toolchain stable-x86_64-unknown-linux-gnu clippy
rustup component add rustfmt

Use your desired toolchain instead of stable-x86_64-unknown-linux-gnu