Hey, just saw this in my Twitter feed.
I recently spent some time with REPL related ideas myself and one of the key requirements for me is that I want to be able to launch a CLJS REPL seamlessly. I like your approach but what happens if you start another REPL that is not aware of this protocol?
Take the default CLJS REPL as an example. It will takeover the *in* and only write to *out*. While that should produce proper [:out ...] EDN forms (assuming you provide a custom *out* binding) that will be the only thing it sends. No :eval or :prompt. The UI I imagine you'd build out of this would seem "stuck"?
Hey, just saw this in my Twitter feed.
I recently spent some time with REPL related ideas myself and one of the key requirements for me is that I want to be able to launch a CLJS REPL seamlessly. I like your approach but what happens if you start another REPL that is not aware of this protocol?
Take the default CLJS REPL as an example. It will takeover the
*in*and only write to*out*. While that should produce proper[:out ...]EDN forms (assuming you provide a custom*out*binding) that will be the only thing it sends. No:evalor:prompt. The UI I imagine you'd build out of this would seem "stuck"?