Comment by ctenb
1 day ago
Very nice! I've often wondered how close you could get to a POSIX-like syntax with something like this while maintaining a LISP semantics as much as possible. Especially pipelines are much easier to read with the | and > operators. I guess you need some sort of LISP dialect that supports infix operators
You can have regular shell infix pipes combined with Lisp/Scheme macros as control flow. I think the tradeoff that Schemesh is nice, even though it does sacrifice POSIX:
The best of both worlds of shell and Lisp is quick ability to run and pipe processes, and full programming functionality without the shell scripting shenanigans like obscure semantics and lack of good data structures.
Would take threading macros over pipelines every other day of the week.
Unless someone has already provided a library for it, write some wrappers around pipes and forks and use OCaml utop.
It's not a Lisp but close enough, I'd say. If I didn't have the rather extensive background of using Picolisp and some other REPL-like tools as a form of shell I'd probably have settled for utop, at least until I reached my iex era.