unrepl

discussing specification of an edn-based repl and its implementations.
cgrand 2017-08-24T15:19:05.000511Z

So the sideloader has landed in unrepl

cgrand 2017-08-24T15:28:12.000685Z

connect to a repl server, upgrade to unrepl, copy the form under the :unrepl.jvm/start-side-loader key to another (plain) repl. Now in the unrepl repl, type foo.bar.Baz and you’ll see the second conection asking for the class. Type nil or a Base64 string

👯 1
cgrand 2017-08-24T15:37:25.000502Z

Or try to require a ns: in unrepl I entered (require 'some.new.ns) and the side-loader transcript:

[:resource “some/new/ns__init.class”]
nil
[:resource “some/new/ns.clj”]
nil
[:resource “some/new/ns.cljc”]
nil
[:class “some.new.ns__init”]
nil

richiardiandrea 2017-08-24T15:38:41.000462Z

so the client would need to send the implementation of this new class/namespace right?

richiardiandrea 2017-08-24T15:39:09.000457Z

(instead of typing nil I mean)

cgrand 2017-08-24T15:39:56.000332Z

yes, as a base64-encoded edn string

richiardiandrea 2017-08-24T15:40:57.000768Z

I know it is a silly question, but when I send a clj file that is requiring something I guess it is evaluated?

richiardiandrea 2017-08-24T15:41:26.000243Z

and unrepl sends the other [:resource ...] requests?

richiardiandrea 2017-08-24T15:41:42.000138Z

if so, pretty cool 😄

cgrand 2017-08-24T15:42:49.000268Z

yes sir

1
richiardiandrea 2017-08-24T15:43:24.000422Z

where is the mind-blown emoji

dominicm 2017-08-24T15:43:54.000333Z

I settled on dancing

dominicm 2017-08-24T15:43:57.000235Z

for no particular reason

richiardiandrea 2017-08-24T15:44:40.000566Z

cool stuff, really

cgrand 2017-08-24T15:45:40.000706Z

ok, now that mux and sideloading are out of the way, I think we were discussing extensions 🙂

richiardiandrea 2017-08-24T15:45:51.000347Z

lol

richiardiandrea 2017-08-24T15:46:03.000542Z

I guess now the fun begins

cgrand 2017-08-24T16:00:54.000038Z

tangential question: assuming that we use zeroconf/bonjour etc. How do you deal with auth?

cgrand 2017-08-24T16:03:16.000772Z

locally a secret could be written under ~/.unrepl/secret so that same user processes would connect without explicit auth

richiardiandrea 2017-08-24T16:17:07.000464Z

I like the .ssh approach, we should delegate to that and it should not be difficult in java, I can look into that

cgrand 2017-08-24T16:19:11.000450Z

What do you mean?

dominicm 2017-08-24T19:34:50.000089Z

@cgrand potentially stupid question (I don't know 0conf or bonjour): 1) What can they offer 2) How stable are they?

dominicm 2017-08-24T19:36:54.000017Z

Wondering if they include feature discovery or anything like that potentially. Or any other additional features beyond repl discovery.

cgrand 2017-08-24T19:44:55.000508Z

@dominicm don't panic, this idea hasn't been in the hammock long enough.

dominicm 2017-08-24T19:45:37.000237Z

Not panicking. Getting excited, but also have an alarm going off because I think bounjour is infamous.

😅 1
dominicm 2017-08-24T19:45:45.000335Z

very small alarm

cgrand 2017-08-24T19:47:28.000013Z

Short of my stereo it usually works for me.

dominicm 2017-08-24T19:49:02.000254Z

(Could be an adoption-related infamy, or the push that a certain unpopular developer made on the protocol)

cgrand 2017-08-24T20:04:52.000451Z

Main goals: 1/ chasing random port numbesr for config is no fun 2/ working across multiple (virtual or not) machines