Fork me on GitHub
#unrepl
<
2017-11-20
>
pesterhazy10:11:13

@volrath amazing! Offline for a weekend and I miss a nice show!

cgrand11:11:40

Go offline more then 😉

cgrand13:11:56

So blob customization has landed in unrepl and BYOB in unravel!

cgrand13:11:43

lein unrepl-make-blob your-blob.clj '{:my.own/action (foo/bar #unrepl/param :baz)}' is going to generate a custom blob with the addistional sessions actions. Plus the namespace foo will be automatically required, you just have to put its implementation on the (sideloader) classpath.

pesterhazy13:11:34

@cgrand could I use this to bundle compliment?

pesterhazy13:11:29

A new PR to use compliment-based completion: https://github.com/Unrepl/unravel/pull/36

pesterhazy13:11:46

This needs to be enabled by passing a feature flag: --flag compliment

pesterhazy13:11:12

Using feature flag we'll be able to merge into master fearlessly

pesterhazy14:11:46

try --classpath /Users/pe/.m2/repository/compliment/compliment/0.3.1/compliment-0.3.1.jar --flag compliment
already works if I manually require 'compliment.core

cgrand14:11:47

with std or custom blob?

pesterhazy14:11:55

it's pretty slow though:

(time (require 'compliment.core))
"Elapsed time: 1276.006835 msecs"

pesterhazy14:11:10

but pretty cool that it works!

cgrand14:11:03

if compliment is directly on the target JVM, what’s (time (require 'compliment.core))?

pesterhazy14:11:08

java -cp /Users/pe/.m2/repository/compliment/compliment/0.3.1/compliment-0.3.1.jar:/Users/pe/.m2/repository/org/clojure/clojure/1.9.0-alpha14/clojure-1.9.0-alpha14.jar clojure.main
Clojure 1.9.0-alpha14
user=> (time (require 'compliment.core))
"Elapsed time: 1164.47074 msecs"

pesterhazy14:11:24

that's insane

pesterhazy14:11:12

java -cp /Users/pe/.m2/repository/medley/medley/1.0.0/medley-1.0.0.jar:/Users/pe/.m2/repository/org/clojure/clojure/1.9.0-alpha14/clojure-1.9.0-alpha14.jar clojure.main
Clojure 1.9.0-alpha14
user=> (time 'medley.core)
"Elapsed time: 0.043526 msecs"

richiardiandrea16:11:34

Uhm why is this? There is no require there..

cgrand14:11:23

patch or ditch?

cgrand14:11:53

I’m sure you doubted and thought the sideloader was to blame for slowness

pesterhazy14:11:33

I stand corrected

cgrand14:11:15

On another topic: guess-readable is a very simple heuristic that checks if delimiters are well balanced and take care of escape sequences.

pesterhazy14:11:17

Thou shalt not doubt thy sydeloader

pesterhazy14:11:49

@cgrand as a first heuristic to get quicker feedback if parens are wrong?

pesterhazy14:11:48

idea: if I type ) in interactive mode, it automatically inserts the right closing paren, }, ], or )

cgrand15:11:13

I’d rather have ( inserts (|) (where | is the cursor)

pesterhazy17:11:06

slippery slope how?

pesterhazy17:11:31

counterpoint: chez's repl has it

cgrand19:11:41

Not saying that I’m opposed to the idea, far from it! Just that’s a rabbit hole, a never ending task etc.

pesterhazy21:11:46

that may be true

cgrand14:11:52

yes as a good enough heuristic

cgrand14:11:45

with a low risk of being broken by a syntax change (considering previous syntax changes)

pesterhazy15:11:03

although not sure if it makes a difference perf-wise?

cgrand15:11:21

and not sensible to the #=(java.lang.System/exit 0) attack 😉

cgrand15:11:53

(I know there’s a flag for that)

pesterhazy15:11:08

it's not a bug it's a feature

pesterhazy15:11:20

you can do things without wearing out your enter key

cgrand15:11:36

evaluate code without sending it! the repl that reads your mind!

cgrand15:11:35

Between unravel and unrepl.el we should bang the drum.

rickmoynihan16:11:54

FYI that gif doesn’t display properly as it’s behind slack’s auth

cgrand16:11:21

thanks for porting this to my attention

rickmoynihan16:11:47

you’re welcome… thanks for bringing this to mine! 🙂

cgrand15:11:40

I’ve slowly been realizing that npm readline is not libreadline

cgrand16:11:53

raaah I linked to unrepl/unrepl and not unrepl/unrepl.el

cgrand16:11:04

these times were you miss <blink> tags

pesterhazy17:11:26

@cgrand, yeah NPM's readline is a cheap knockoff

pesterhazy17:11:50

It doesn't even have ^R

cgrand19:11:41

Not saying that I’m opposed to the idea, far from it! Just that’s a rabbit hole, a never ending task etc.

dominicm19:11:34

I guess I need to explore a basic integration with vim now, unrepl has accelerated too quickly for me. I've just started an nrepl one!

cgrand22:11:54

It’s more clients catching up with the protocol.