These are chat archives for non/algebra

11th
Jun 2015
Adelbert Chang
@adelbertc
Jun 11 2015 17:02 UTC
@non - sorry to bother you, any chance of getting the new algebra jars "published" ? :-)
Erik Osheim
@non
Jun 11 2015 17:32 UTC
yes! sorrry
published now
i forget that it's so easy to publish snapshots (literally just + publish).
Adelbert Chang
@adelbertc
Jun 11 2015 17:37 UTC
@non -awesome thanks!
looks like some jars were being picked up from http://plastic-idolatry.com/jars/ (e.g. -laws and -std), I remove the from bit so it'd get it from Sonatype
Erik Osheim
@non
Jun 11 2015 17:40 UTC
oh awesome, good call.
Adelbert Chang
@adelbertc
Jun 11 2015 17:40 UTC
on a related note its still not picking up eqv on OrderLaws for some reason
after a clean compile.... hmmm
Erik Osheim
@non
Jun 11 2015 17:40 UTC
huh strange
Adelbert Chang
@adelbertc
Jun 11 2015 17:41 UTC
errr let me clean everything agin
is there a way to ensure i get whatever version is on Sonatype SNAPSHOT and not from your website.. im hoping there is some sort of cache thing
Adelbert Chang
@adelbertc
Jun 11 2015 17:46 UTC
i just rm -rf'ed ~/.ivy2/org.spire-math/algebra*
that worekd!
Erik Osheim
@non
Jun 11 2015 18:11 UTC
awesome
maybe you had a publish local?
Adelbert Chang
@adelbertc
Jun 11 2015 18:16 UTC
that's.. very possible. i vaguely recall doing that many moons ago
P. Oscar Boykin
@johnynek
Jun 11 2015 18:50 UTC
one more reason to never use SNAPSHOT
Erik Osheim
@non
Jun 11 2015 18:50 UTC
@johnynek +1
P. Oscar Boykin
@johnynek
Jun 11 2015 18:50 UTC
we made a bash script that appends the timestamp so the artifact itself has a higher number.
but an sbt plugin would be great.
Erik Osheim
@non
Jun 11 2015 18:50 UTC
@johnynek there's a PR for cats that publishes similar tagged snapshots, if it works well i'll port it here too
P. Oscar Boykin
@johnynek
Jun 11 2015 18:51 UTC
@non cool.
let me pitch this idea:
private dependencies: you can depend on a jar privately. This means you can only use it in package private or private methods signatures (or internal to public methods). Cannot appear in protected or public APIs.
then sbt mangles the names using the hash of the jar or something.
Erik Osheim
@non
Jun 11 2015 18:53 UTC
ah right, this solves the circular dep problem
P. Oscar Boykin
@johnynek
Jun 11 2015 18:53 UTC
code stays clean, private diamonds are never a problem.
Erik Osheim
@non
Jun 11 2015 18:53 UTC
algebra can depend on e.g. scalacheck even if scalacheck depends on algebra
P. Oscar Boykin
@johnynek
Jun 11 2015 18:53 UTC
then we could reuse libraries like shapeless internally without causing diamond pain.
yes.
well, in some ways. in this proposal depend but not in the public API.
which is usually fine (and makes better encapsulation).
and with the hash trick, if you have N such private deps colliding, you'd just be overwriting the same paths in the fat jar.
no problem.
(I hope)
anyway. I'm telling anyone who will listen because the probability I write this sbt + scalac plugin pair is ~ 0.
Erik Osheim
@non
Jun 11 2015 18:56 UTC
haha yeah :)
well -- i will stash it on my heap of random projects that could be worked on
(at this point it's less of a heap and more of a storage unit i guess)
P. Oscar Boykin
@johnynek
Jun 11 2015 18:57 UTC
:) this could be a good one for some kind of code bounty. I could possibly convince Twitter to put up some cash for this.
and I'm sure your meetup friends would do the same! ;)
Erik Osheim
@non
Jun 11 2015 18:58 UTC
yeah it's totally possible. also, doug tangren has certainly written some sbt plugins in his day
P. Oscar Boykin
@johnynek
Jun 11 2015 18:59 UTC
yes. recall that.
Erik Osheim
@non
Jun 11 2015 19:00 UTC
@johnynek i don't want to make work for you -- but if you wrote up a markdown gist and shared the link on the twitters, i'd retweet and share the link
might be the easiest way to get mindshare (also ppl could make suggestions in the gist comments)
gist-as-microblog-service-with-reasonable-syntax-highlighting