unrepl

discussing specification of an edn-based repl and its implementations.
cgrand 2017-05-31T12:14:01.971785Z

At last, my cljs repl is upgradable anew and I have some dyn env handling to tighten

🐊 2
pesterhazy 2017-05-31T13:03:04.743673Z

is there something I can play with already?

cgrand 2017-05-31T13:11:35.898960Z

you can clone the repo, and follow the README, that’s all

cgrand 2017-05-31T13:12:13.910576Z

why 🐊 ?

pesterhazy 2017-05-31T13:12:26.914651Z

strong as a crocodile

pesterhazy 2017-05-31T13:12:37.917767Z

it's a pretty cool animal

pesterhazy 2017-05-31T13:31:30.292384Z

I checked it out, it works well

pesterhazy 2017-05-31T13:32:48.319694Z

So the idea would be to ship something like cljs-js-repl with lumo. That's the minimum code required for a client to upgrade itself.

pesterhazy 2017-05-31T13:32:57.322503Z

(just thinking out loud here)

cgrand 2017-05-31T13:39:18.455856Z

that’s the idea

cgrand 2017-05-31T13:41:04.493772Z

pesterhazy: on upgrade there’s an extra prompt from the upgraded repl, it’s a bug

cgrand 2017-05-31T13:44:33.569717Z

eval in cljs-js has an async API (in practice lumo and planck impls are sync... for now)

cgrand 2017-05-31T13:45:51.598397Z

(one can simulate async by adding a setTimeout)

pesterhazy 2017-05-31T13:47:29.634171Z

really like the ideaa

👍 1
cgrand 2017-05-31T15:20:18.888794Z

Right before the daycare pickup break, I was talking about async eval.

cgrand 2017-05-31T15:22:39.947697Z

So the problem is that when the evaluation really happen the current set of bindings may not be in place anymore. So *in* for example wouldn't point to the input of the repl :-/

cgrand 2017-05-31T15:34:04.234219Z

So short of having a global dynamic var solution, eval could offer a way to switch dynamic environments. It may be a simple function… passed as a dynamic variable.