unrepl 2017-12-14

@cgrand actually in Js you can’t block tout court

Short if while(true){}

That’s what I mean: no matter how eval is sync in lumo, it’s gonna leak

I have something related to show

Got a few questions about that yesterday

The world is waiting for unrepl.cljs

Daniels presentation of unrepl.el was very well received yesterday

Lots of ooohs and aahhs

I’d like to hear more about the ooohs and aahhs

How did the “one more thing” go?

https://github.com/Unrepl/plain-repl/blob/master/src/plain_repl/lumo.cljs is a one-file no-deps implementation of an upgradable repl in lumo

The images were a real crowd pleaser

it’s not as full fledged as current lumo implem, but this is showing a way to refactor lumo to make it upgradable

The elided exception in lazy-seq is also very effective

with a 💩 emoji?

Very cool

Do I just evaluate that in lumo?

(Not the emoji, the plain repl)

lumo -c src/ -n '{"port": 5557, "accept": "plain-repl.lumo/accept"}'

Ahh I’ll try that when I’m in the office

Wow this is great! can't wait to take a look

Oh and yeah, people did like the images rolling down the repl haha

I'm going to add a gif for that in the project's README file

has messed the repl source when putting it on github

Mess is fixed and there’s example in README

amazing.. I just gave it a read. I think i need more time to wrap my head around it completely, but I get the idea.

so what would be the next steps?

as you can see bindings management and session managemnt (which are related) is bit done

There are several ways forward but mostly it would be to make plain-repl on par with lumo.repl (or retrofit it into lumo.repl)

Long term I’d like async read and async eval (at least as placeholders) to go in cljs proper

I'm not sure I follow what does *print-fn* does.. is it a lumo internal thing?

cljs internal?

no it’s *out* in cljs

and with this plain repl implementation, do you think someone could start working on a unrepl cljs for it, while we wait for lumo to integrate it (or something similar to it)?

@claynon has joined the channel

@volrath hard to predict how the proposed apis could evolve but yes

alright cool

@volrath I’m going to extract from accept a template repl similar to clojure.main/repl

i kinda like the repl -> epl -> pl -> l haha

@volrath do you talk at clojureD?

I wish I had submitted a talk, but I didn't

do a lightning talk!

that's a good idea, I will 🙂

Do we need some 🦄 repl swag for the conf? 😉

imagine coming with cljs support... I think that'd be difficult to top!

I had something else on my mind but cljs.js support may come first

what is it? 😄

unrepl in breakpoints

ohh.. that could be cool!

what do you have in mind?

yeah but all the cool kids do cljs 🙂

javascript reaches..

breakpoints was what I had in mind

yeah but what exactly

like, what type of behavior do you see

on a breakpoint (either user set or exception being thrown), the user may enter an unrepl session in the context of the breakpoint (looking at and modifying fields and locals, running code etc.)

sounds really good

we definitely should think on a big feature for clojured, and who knows, maybe we can do both

I’m more confident in cljs.js it’s doable if we use plain-repl as a shim

and then you’ll do the same demo but with a canvas object 😉

in reality I'm not sure I can haha

but maybe something close

image is well supported across all emacs installations these days, but browser views are not

I barely started reading about that a week ago

but you require to compile emacs with webkit support, which is not default

that’s not what I meant

canvas as the server-side object

communication would still be base64 png or whatever

it should work with no client change

but afaik, canvas are not server side

I think there are node implementations

like this one

hmm yeah that could work!

that’s what I had in mind

sounds really cool

but you know what cljs-js support means too? using unravel to develop unravel

so far, I'm using unrepl.el to develop unrepl.el tools

let’s get serious and implement an unrepl blob for EL

ehmm.. let's stick with cljs first haha

@vojko has joined the channel

@fnil has joined the channel