4 ms·
This is one thing I designed Jevko[0][1] for. If you have an idea for a format or a language and would like to quickly start hacking on the layer above the syn
by djedr 3y ago
This is one thing I designed Jevko[0][1] for.
If you have an idea for a format or a language and would like to quickly start hacking on the layer above the syntax, Jevko is an option.
It's meant to be even simpler and hackable than S-expressions.
It gets you from a string to a tree in the least amount of steps.
See here[2] if interested.
Happy hacking!
[0] https://jevko.org/ https://jevko.org/
[1] https://djedr.github.io/posts/jevko-2022-02-22.html https://djedr.github.io/posts/jevko-2022-02-22.html
[2] https://gist.github.com/djedr/151241f1a9a5bc627059dd9b23fc7432 https://gist.github.com/djedr/151241f1a9a5bc627059dd9b23fc74...
- Jtsummers 3y agoWith the square brackets it has a bit of a Rebol feel to it. Was that intentional or coincidental?
- djedr 3y agoI suppose a bit of both. I was more directly inspired by Lisps, but I do prefer the original M-expressions and the syntactic choices that REBOL and Red make. I think placing the operator before the opening bracket better emphasizes its special significance and can reduce nesting for constructs like `f[x][y]` (vs. `((f x) y)` in Lisps). Square brackets somehow seem more aesthetically pleasing to me. And there is a practical reason to prefer them, especially if your syntax uses only one kind of brackets -- square brackets are the easiest to type on an average keyboard. So REBOL-like syntax is nicer. As were M-expressions. They probably didn't catch on, because they were not minimal enough, compared to S-expressions. And maybe because S-expressions were fully implemented first.
- marssaxman 3y agoNice project. Thank you for sharing.
- djedr 3y agoThanks! :)