Fork me on GitHub
#unrepl
<
2018-01-02
>
pesterhazy13:01:47

Hmph - (clojure.repl/doc a.b) fails with an exception, and it's not easy to catch the exception because it's a macro

cgrand14:01:35

because clojure.repl is not required?

pesterhazy14:01:47

no, because it's broken I think

pesterhazy14:01:55

CompilerException java.lang.ClassNotFoundException: a.b, compiling:(unrepl-session:2:1) clojure.lang.Compiler.analyze (Compiler.java)

pesterhazy14:01:05

it calls (resolve a.b), which throws

pesterhazy14:01:29

to make things worse, the logic is not exposed as a fn, only as a macro, see https://dev.clojure.org/jira/browse/CLJ-1836

pesterhazy14:01:04

another job for the common tooling lib

cgrand14:01:27

(try (eval '(doc a.b)) (catch Exception _ "Oops")) on aux nobody knows you are using eval

pesterhazy14:01:29

I'm bad enough that I'll actually do that

cgrand14:01:14

eval in eval is a lesser evil

pesterhazy14:01:57

I think only docs issues are left to fix before 0.3.0 release: https://github.com/Unrepl/unravel/issues/42

cgrand14:01:06

@pesterhazy why this bookkeeping?

pesterhazy14:01:41

that was there from the beginning - to know which callback to call when the result comes back

pesterhazy14:01:56

I know you introduced the eval ids for the same purpose

cgrand14:01:13

and :read messages

pesterhazy14:01:36

at some point I'll clean it up but it works for now

dominicm18:01:19

@richiardiandrea mobile chained, but why at runtime?

richiardiandrea18:01:22

right, I was thinking that it would be even cooler for the client to have something like: "Please side load this library for me"

richiardiandrea18:01:16

"side load cider-nrepl" info feature for me

richiardiandrea18:01:48

and the client knows what jars to download and bundle for that to happen

richiardiandrea18:01:04

(actually the last could be an already packaged jar)

richiardiandrea22:01:14

One thing that mranderson does is to rename .class files as well

cgrand22:01:20

That’s Jarjar and it’s just a thin veneer over ASM.

richiardiandrea23:01:52

I was exploring only to see what's the best course of action. Would we want/need to side load .class in your opinion?

cgrand10:01:11

not in the short term

richiardiandrea22:01:36

my boot-sources just collects Clojure files

richiardiandrea22:01:33

so if we want to side load also AOT-id/Java, probably the best option would be to refactor mranderson and package it as boot library

richiardiandrea22:01:44

or just use lein

richiardiandrea22:01:40

(lazy mode permanently on 😄)