explanatory readme
This commit is contained in:
parent
4fa8d84cec
commit
f41b30b9f2
1 changed files with 23 additions and 0 deletions
23
Readme.md
Normal file
23
Readme.md
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
# Relish
|
||||||
|
Rusty Expressive LIsp SHell
|
||||||
|
|
||||||
|
## Goals
|
||||||
|
Relish is a language meant to iterate on the ideas and designs that were tested with [SHS](https://gitlab.com/whom/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
|
||||||
|
Current master contains the datatypes and type system used by the language interpreter, as well as Lexing and Parsing routines. "Segments" (cons cells) are used for the abstract syntax tree. Tables are used for variable and function declarations. An evaluation routine is nearly complete. Tests are included for the Lexing and Parsing process and the function call routine. With the completion (and subsequent testing) of the evalution routine two more objectives will need to be completed:
|
||||||
|
- Shell interfzce that manages configurations and orchestrates a shell prompt
|
||||||
|
- Stdlib that implements the following functionality
|
||||||
|
- POSIX compliant shell with job control
|
||||||
|
- String manipulation
|
||||||
|
- File read/write functionality
|
||||||
|
- arithmetic operations
|
||||||
|
- control flow
|
||||||
|
- boolean comparisons and operations
|
||||||
|
- environment variable access
|
||||||
|
|
||||||
|
## Compilation
|
||||||
|
`$ cargo build`
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
`$ cargo test`
|
||||||
Loading…
Add table
Add a link
Reference in a new issue