▲ | Show HN: Sexprs – Lisp dialect written in Rust(github.com) | |||||||
26 points by gfalcao 6 days ago | 3 comments | ||||||||
▲ | uncircle 2 days ago | parent | next [-] | |||||||
The code in the screenshot/asciinema isn't s-expr by any common conception of the term, or as a Lisp would parse it.
That argument to flatten is in fact [macroexpanding manually, forgive errors]
which flattens to
---Parsing sexprs is quite easy, no need to use a complex parser generator. The core of parsing sexprs is you have a "read_list" function, which accumulates values until it finds a ')', and whenever you encounter a '(' character, you recurse into that same read_list function. You don't even need a lexer. Also, this is divided in 8 crates for some reason... don't take this the wrong way, but is it the result of vibe coding? | ||||||||
| ||||||||
▲ | junon 2 days ago | parent | prev [-] | |||||||
Haha, funny. I also wrote something similar for working with KiCad files, naming it Sexprs, also in Rust. I was worried someone had found it and posted it here. Is there a way to modify and re-emit them at runtime? Seems neat, but the readme is lacking. |