Fork me on GitHub
#unrepl
<
2017-08-24
>
cgrand15:08:05

So the sideloader has landed in unrepl

cgrand15:08:12

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

cgrand15:08:25

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

richiardiandrea15:08:41

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

richiardiandrea15:08:09

(instead of typing nil I mean)

cgrand15:08:56

yes, as a base64-encoded edn string

richiardiandrea15:08:57

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

richiardiandrea15:08:26

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

richiardiandrea15:08:42

if so, pretty cool 😄

richiardiandrea15:08:24

where is the mind-blown emoji

dominicm15:08:54

I settled on dancing

dominicm15:08:57

for no particular reason

richiardiandrea15:08:40

cool stuff, really

cgrand15:08:40

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

richiardiandrea15:08:03

I guess now the fun begins

cgrand16:08:54

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

cgrand16:08:16

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

richiardiandrea16:08:07

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

cgrand16:08:11

What do you mean?

dominicm19:08:50

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

dominicm19:08:54

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

cgrand19:08:55

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

dominicm19:08:37

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

dominicm19:08:45

very small alarm

cgrand19:08:28

Short of my stereo it usually works for me.

dominicm19:08:02

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

cgrand20:08:52

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