tree-traversing LISP interpreter geared toward embeddability and system scripting
Find a file
2021-11-08 00:45:09 -08:00
src export vars fixed. tests pass 2021-11-08 00:45:09 -08:00
tests export vars fixed. tests pass 2021-11-08 00:45:09 -08:00
.gitignore ignore Cargo.lock 2021-10-17 23:12:22 -07:00
.gitlab-ci.yml add dedicated build step to CI 2021-11-02 20:07:10 -07:00
Cargo.toml add missing deps in Cargo 2021-09-19 15:02:24 -07:00
CONFIGURING.md variable export and entire config system 2021-11-07 22:04:57 -08:00
LICENSE.md - syntax tree datatypes 2021-01-24 12:34:58 -08:00
Readme.md variable export and entire config system 2021-11-07 22:04:57 -08:00

Relish

Rusty Expressive LIsp SHell

Goals

Relish is a language meant to iterate on the ideas and designs that were tested with SHS. Relish acts as both as a high level scripting language and as a system shell. This language is meant to be practical for administrators and power users. Similar technologies include Python, Bash, and Racket.

Current Status

  • Core functionality (lexing, parsing, evaluation, function and variable tables) is complete and tested
  • A primitive REPL is complete

Pre-alpha release tasks

  • Rudimentary control flow (if, loop, let)
  • Variable declaration and environment integration
  • Function declaration
  • Shell module including foreground process, background process, and environment variable
  • Stdlib including string operations, arithmetic operations, and file operations
  • TESTS TESTS TESTS

Configuration

See docs here

Compilation

$ cargo build

Testing

$ cargo test

Running

$ cargo run src/bin/main.rs