unrepl

discussing specification of an edn-based repl and its implementations.
2018-03-21T06:05:33.000224Z

Is /N a valid symbol?

2018-03-21T06:08:31.000117Z

According to the EDN spec it is explicitly forbidden. Why go away from the #unrepl/...?

cgrand 2018-03-21T08:15:28.000232Z

It’s a rendering thing on the client I was testing with

2018-03-21T11:24:54.000222Z

dominicm 2018-03-21T11:29:36.000126Z

https://github.com/redbadger/shade/ I found this btw, probably works for jars too

dominicm 2018-03-21T11:29:52.000058Z

I'm guessing java deps are desirable to support

dominicm 2018-03-21T11:30:00.000284Z

I have no idea if it is better than Mr. Anderson ofc.

cgrand 2018-03-21T11:33:50.000231Z

Java deps are not supported yet but ideally they should. MrAnderson uses JarJar for that.

dominicm 2018-03-21T11:39:12.000083Z

yep

cgrand 2018-03-21T12:16:37.000338Z

classes can have circular deps

2018-03-21T12:35:46.000533Z

dominicm 2018-03-21T12:47:12.000238Z

@cgrand so, this shading, I could really use something for part of the pack pipeline (either in pack, or separate from shell), if it's particularly agnostic 😛. I may want to rip it into it's own library at some point.

bozhidar 2018-03-21T12:51:12.000304Z

Seems everyone these days has their own idea about shading and how its supposed to be done.

bozhidar 2018-03-21T12:51:31.000394Z

🙂

bozhidar 2018-03-21T12:51:47.000569Z

I’ll keep dreaming of the one true approach/library for this… 😉

cgrand 2018-03-21T12:52:44.000280Z

Ah I didn’t know that shading was such a hot topic

bozhidar 2018-03-21T12:54:06.000589Z

Hot topics always require a bit of shade. 😄

dominicm 2018-03-21T12:54:36.000538Z

Pack uses classloaders for one kind of usage, and a lambda zip for another, which works for all my use-cases. It would be interesting to explore shading a little, as it would assist me in targetting some weird environments.

cgrand 2018-03-21T13:02:18.000422Z

I think the only selling point of content-defined shading is to remove naming.

cgrand 2018-03-21T13:02:41.000539Z

Then you have two approaches: coarse and fine.

dominicm 2018-03-21T13:02:49.000409Z

content-aware shading?

cgrand 2018-03-21T13:06:08.000229Z

• coarse: compute a hash of the whole “bundle” and use that hash has a the namespace prefix (so allows to reuse MrAnderson and friends) • fine: shade each unit (ns, java class) independently, but then the hash must be a suffix (so as not to break package-visibility across classes). It’s more complex but allows some code sharing

cgrand 2018-03-21T13:06:33.000038Z

I meant content-defined

dominicm 2018-03-21T13:07:03.000582Z

is the performance bad enough that sharing is useful? If performance is bad, wouldn't you just aot?

cgrand 2018-03-21T13:09:37.000144Z

sharing was rather meant to avoid having multiple identical copies in memory (indirecty memory consumption affects perf); AOT doesn’t solve duplication.

dominicm 2018-03-21T13:11:58.000269Z

coarse doesn't solve that either though right?

dominicm 2018-03-21T13:12:11.000369Z

I suppose it does if you load vimpire 5 times.

cgrand 2018-03-21T13:12:33.000637Z

right, only fine does that

cgrand 2018-03-21T13:15:32.000542Z

@dominicm why, for pack, is this kind of shading better than typical shading?

dominicm 2018-03-21T13:16:29.000723Z

Oh, I just don't have a convenient thing that's totally decoupled from lein yet 😁. Although, having said that, this would be much closer to npm-style deps than Mr. Anderson is right now, so would be a public service.

2018-03-21T20:35:37.000366Z

2018-03-21T20:40:25.000581Z