A simple interpreted language written in Elixir
Elixir Erlang Rust
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
lib
priv/code
src
test
.gitignore
LICENCE
README.md
mix.exs
mix.lock

README.md

Soup

Soup is a simple interpreted language, the runtime for which is written in Elixir.

It looks like this:

let x = 1
let y = 2

let add = |x, y| {
    x + y
}

let z = add(x, y)

It's largely an adaption of the Simple language from the first few chapters of Tom Stuart's excellent Understanding Computation. Go grab a copy.

Usage

# Compile the interpreter
MIX_ENV=prod mix escript.build

# Run some Souper code!
./soup priv/code/addition.soup

MPL2 Licence