Earlier quoted context omitted.
Yeah the way I frame it is that Lisp is about "interior" composition (functions and data), not "exterior" (processes andf iles) Narrow Waists Can Be Interior or Exterior: PyObject vs. Unix Files https://www.oilshell.org/blog/2023/06/narrow-waist.html However the "exterior" extension seems obvious to me -- why hasn't anyone produced a distributed Lisp? Well I guess Clojure/EDN is that, but nobody has produced a POLYGL…
> However the "exterior" extension seems obvious to me -- why hasn't anyone produced a distributed Lisp? How about Lisp Flavored Erlang?
I've noticed Erlang/Elixir also favor interior composition! Parsing is not idiomatic there -- they're actually BAD languages for parsing text. (Though they do have good affordances for parsing bytes)
They prefer to pass around Erlang terms, which are copied inside the VM.
I get that -- it's more convenient. But it's also a reason why "the rest of the world" has more code reuse -- e.g. Go talks to JavaScript talks to Python.
Most projects have multiple languages. Monoglot projects become polyglot projects when they grow bigger.
---
So I say
- Lisp prefers its own (interior) narrow waist
- Erlang prefers its own (interior) narrow waist -- even the Lisp one is second class!
- The rest of the world uses the (exterior) byte stream narrow waist, but they complain about it a lot :)