I’m really excited by this project. I work primarily with JS and can’t see that changing. I’d like to use Clojure to build tooling around my current work - being closer to JS will be a big help. Looking forward to macros and the REPL!
The language resembles ClojureScript so that you don’t have to learn new APIs and porting between cherry and squint is easy. E.g. I’ve taken a Hacker News reader that was built in cherry and could port it to squint with almost no changes:
The “immutable” core functions in squint, like assoc, do not mutate the original, but create shallow copies of the original, so they are never causing “spooky action at a distance” effects. There is also the mutating assoc!.
Something like immer could be used to get back cheap full-blown immutability. I’ve made a little
start with that here: squint-immer. Compiling an example using squint + immer comes down at around 11kb with esbuild.
You can see the compiler output of squint in the playground: Squint
Or you can run npx squint --no-run --show -e '(+ 1 2 3)' on the command line.
it needs to be reactified… but it’s still being maintained and worked upon. I was a bit sort on time and gave up trying to and just built on top of react-blessed but it’s got really good primitives to build upon. ink is too opinionated for me and not as flexible as either blessed or terminal-kit. But it’s really well maintained.
I got really into terminal apps for a while. still love to do more of it if I get the opportunity.