hestia (pronounced es-TI-ah or HES-ti-ah) is a small, functional, dynamically typed programming language designed for writing small scripts. It can be learned in an afternoon, but is not especially fast or especially general-purpose.
See site for more details.
hestia aims to use as few (Rust) dependencies as possible, so expect lots of yak-shaving.
- Static typing
- Speed
- Safety
- Being suitable for writing large, multi-file programs
This is a mono-repo containing: code for the hestia "library" (./lib
), which is
where all of the lexer, parser, and interpreter code lives; code for the hestia
REPL and binary (./bin
), which is used to run hestia programs; and code for
hestia's website and docs (./site
). Both bin
and site
consume lib
for
the REPL/binary and WebAssembly REPL, respectively.
To run the current hestia REPL, clone this repository, cd bin
, and cargo run
.
To run a hestia file, run cargo run -- <filename>
. This will still drop you
into a REPL afterwards.
Languages that have influenced me over the years:
- Ruby
- Haskell
- Lua
- Clojure
- Racket
- Go
- Elm
- Bash