unrepl

discussing specification of an edn-based repl and its implementations.
mfikes 2017-04-30T15:18:02.221489Z

@cgrand I think I have Unrepl properly working in Planck now with some rough experimental code: https://gist.github.com/mfikes/e44cf07e8217db2112facf90b550ab74

cgrand 2017-04-30T15:19:41.226944Z

@mfikes, awesome!

mfikes 2017-04-30T15:20:10.228483Z

I haven't drilled down into the nesting and dynamic binding stuff to ensure it is all OK. But, the simple interactions appear to work. šŸ™‚

cgrand 2017-04-30T15:22:11.235376Z

binding: it works as long as eval is not really async

cgrand 2017-04-30T15:22:33.236509Z

for async eval to work, some cooperation from clojurescript would be required

cgrand 2017-04-30T15:22:58.237890Z

after talking with @bbloom Iā€™m trying to put up a proposition for that

mfikes 2017-04-30T15:24:10.241905Z

Cool. In the Planck case, it is sync, like this

(defn eval [form cb]
  (cb (planck.core/eval form)))

cgrand 2017-04-30T15:26:38.250550Z

something unrelated: is there a way with JsCore to inspect a closure (to look at the closed over locals)?

mfikes 2017-04-30T15:27:22.253175Z

I've never seen any introspective API functions like that. (The public API to JavaScriptCore is fairly conservative and small.)

cgrand 2017-04-30T20:27:28.299534Z

@mfikes introspective JS VM would enable a cljs version of Portkey (https://github.com/cgrand/portkey).