Evalisp is a lispy sublanguage of Fildesh that is invoked whenever $(
appears.
In this repository, we explore its future.
We hope to find a minimal language with:
- Side-effect freedom.
- For each scope, functions & variables are resolved in the order they appear in source code.
- Like in a Parsing Expression Grammar (PEG).
- No ambiguity when resolving functions with conflicting type signatures.
- Custom parsing and formatting replace file I/O.
- Input data is included/concatenated into the source code and is evaluated as code with custom parsing.
- Output is the evaluation result written with custom formatting.
- For each scope, functions & variables are resolved in the order they appear in source code.
- Type coercion rules.
- Python-like module system.
- Mixins composed with C3 linearization.
Fildesh v0.1.6 will only include 2 expressions: typed assignment and string concatenation.
; name=value
(: name Type value)
; String concatenation.
(: concatenated String (+ "hello" " " "world"))
As for this repository's code... it's still a work in progress. Prototypes, tests, and documentation will start appearing eventually.