4 ms·
Which scheme implementation? Guile?
by fnord123 10mo ago
Which scheme implementation? Guile?
- deleted 10mo ago[deleted]
- NuclearPM 10mo agoAll of them.
- lgas 10mo agoTo elaborate, the scheme spec requires tco.
- fnord123 10mo agoWhich scheme is embeddable and lightweight? And what does lightweight mean? Does it mean low memory footprint or does it mean few-lines-of-code-to-introduce or does it mean zero-dependencies?
- throwaway81523 10mo agohttps://en.wikipedia.org/wiki/SIOD https://en.wikipedia.org/wiki/SIOD is lighter weight than almost anything. Way smaller than Lua. Also look at Hedgehog Lisp. The bytecode compiler (runs on a PC) is separate from the interpreter, i.e. there is no REPL. But it means that the interpreter is only about 20KB of code. It's quite practical. It's not Scheme but rather is a functional Lisp (immutable data including AVL trees as the main lookup structure) and it is tail recursive. https://github.com/sbp/hedgehog https://github.com/sbp/hedgehog
- fnord123 10mo agoI meant which scheme implementation is "lightweight" and also meant to ask what "lightweight means".
- feb 10mo agoFor a functionnal language, TCO is really a must have. How would you do the equivalent of loops without it ?
- yencabulator 10mo agoFor a purely functional language. Scheme is not that. https://www.gnu.org/software/guile/manual/html_node/while-do.html https://www.gnu.org/software/guile/manual/html_node/while-do...
- anthk 10mo agoAnd you are wrong because you can define a loop as iterating recursively over a list with just car and cdr.
- yencabulator 10mo agoCan but since other constructs exist that doesn't by itself make TCO "must have"
- fnord123 10mo agoI wasn't asking which scheme has TCO. I was asking which scheme if the 20-50 of them was "lightweight" and embeddable.