~knazarov/valeri

An experimental lisp compiler
Get rid of more raw pointer passing
Make memory allocation safer by avoiding passing raw pointers around
Update README.md for brevity

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~knazarov/valeri
read/write
git@git.sr.ht:~knazarov/valeri

You can also use your local clone with git send-email.

#Valeri: a pure Lisp with algebraic effects

This language is created for people to have fun with functional programming, while not requiring to learn difficult concepts. Because of its dynamism and purity, this is what you can do:

  • Send any object over the network (including function closures)
  • Suspend and resume execution at any point in time (and even travel back in time)
  • Use any object as a dictionary key

Valeri doesn't have classes, and instead relies on passing primitive data structures around, like dictionaries, arrays, sets, etc.

All IO in the language is implemented by using delimited continuations.

#Getting started

There are no packages yet, so you'd need to compile from source. You'd need cmake and either gcc or clang. To build:

cmake .
make

And then either run the REPL:

./valeri

Or run the example:

./valeri example.vli

To run tests:

ctest

#Get in touch

#Acknowledgements

The name of the language is the name of my love, Valeri.

Do not follow this link