lpil/soup
A simple interpreted language written in Elixir
{ "createdAt": "2016-11-26T11:42:18Z", "defaultBranch": "master", "description": "A simple interpreted language written in Elixir", "fullName": "lpil/soup", "homepage": "", "language": "Elixir", "name": "soup", "pushedAt": "2017-03-29T13:53:37Z", "stargazersCount": 26, "topics": [ "functional", "interpreter", "language", "parser" ], "updatedAt": "2025-10-16T22:14:38Z", "url": "https://github.com/lpil/soup"}Soup is a simple interpreted language, the runtime for which is written in Elixir.
It looks like this:
let x = 1let 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][book]. Go grab a copy.
[book] !: http://computationbook.com/
# Compile the interpreterMIX_ENV=prod mix escript.build
# Run some Souper code!./soup priv/code/addition.soup