These are chat archives for typelevel/general

14th
Mar 2016
Ghost
@ghost~540393fe163965c9bc2018ce
Mar 14 2016 08:03
@sellout what kind of lisp? I recently learnt clojure and I want to flex my muscles with it a bit. But I can't use it anywhere because of the licence so it's more to get a feel for it. I'd be keen to look at Racket and lfe
I'd also be keen to look at one of the JVM common lisp implementations
Pascal Voitot
@mandubian
Mar 14 2016 11:18
here we go, Scala Centre is officially announced
Frank S. Thomas
@fthomas
Mar 14 2016 12:06
You mean Scala Center :-)
Jon Pretty
@propensive
Mar 14 2016 12:07
Centre de Scala.
Frank S. Thomas
@fthomas
Mar 14 2016 12:07
Scalazentrum
Jon Pretty
@propensive
Mar 14 2016 12:08
(Incidentally, we picked the US spelling, even though we're based in Switzerland, simply because that's the most common spelling in use at EPFL...)
Ghost
@ghost~540393fe163965c9bc2018ce
Mar 14 2016 12:11
It is the British spelling
Center is allowed for buildings
Seth Tisue
@SethTisue
Mar 14 2016 12:11
@fommil I’d suggest Racket
Pascal Voitot
@mandubian
Mar 14 2016 12:18
@propensive you should have chosen SwissDeutsch spelling
Ghost
@ghost~540393fe163965c9bc2018ce
Mar 14 2016 12:57
@SethTisue cool, have you done with with it?
Seth Tisue
@SethTisue
Mar 14 2016 13:07
no, just read papers, seen talks, etc
I just find the whole effort really inspiring and impressive
Ghost
@ghost~540393fe163965c9bc2018ce
Mar 14 2016 13:09
Yeah, think i I might disappear off into lisp land for a while when we finally release ENSIME 1.0
Greg Pfeil
@sellout
Mar 14 2016 13:12
@fommil I did primarily CL, but I would probably recommend Racket now, too. It's really grown since abandoning Scheme. CL is still more job-friendly, but that doesn't sound like what you're looking for.
Alec Zorab
@AlecZorab
Mar 14 2016 13:41
anyone spent time working with scala+clojure mixed projects?
I feel like my codebase is a little too readable, maybe I should start randomly dropping into another language on occasion ^_^
Ghost
@ghost~540393fe163965c9bc2018ce
Mar 14 2016 13:47
@AlecZorab I'd love to but the clojure licence cannot be used in ENSIME so we can't offer cross language support :-(
Pascal Voitot
@mandubian
Mar 14 2016 13:54
@AlecZorab I've mixed some Scala + Datomic & Scala + clojure runtime interpreter but I'm not a fan of clojure yet it works ;)
Rob Norris
@tpolecat
Mar 14 2016 15:53
+1 for Racket. It started at Rice so it has to be good, right?
Alexandru Nedelcu
@alexandru
Mar 14 2016 16:07
I'm a fan of Clojure, but I feel combinations aren't OK unless different people work on them. Basically in Clojure you have to play to the strengths of the underlying dynamically typed system. What it means in practice is that in Scala we end up doing modeling by means of types, letting the compiler help us with the composition and the operations on those types and their usage. But overall we think about types all the time. In Clojure you play loose - you first start with plain dictionaries, lists or sets and you focus on the functions operating on those, thinking more about the shape of your data, with that shape being loosely defined and only much later you give your types a name and only for readability purposes. In Clojure you also end up doing a lot of code generation by means of macros to cut on the boilerplate and making up shit at runtime, in true spirit of a dynamically typed system. I think people cannot switch between these 2 modes of thinking so easily.
Erik Osheim
@non
Mar 14 2016 16:35
@sellout re your comment a few days ago -- i could imagine an annotation that you could attach code to, and then a test that could pull it out, compile it, and execute it
definitely smells a bit lispy/macro-y but no reason it couldn't work i don't think
Seth Tisue
@SethTisue
Mar 14 2016 22:22
hey Typelevel folks, is there anyone who would like to start getting more Typelevel projects into the Scala community build? I’d be especially interested in seeing cats get in, but its dependencies would have to get in first. these days there is pretty decent documentation for contributors at https://github.com/scala/community-builds/wiki . I would suggest targeting the 2.11.x-jdk8 build rather than the jdk6 one, the jdk8 one has newer versions of various things
Adelbert Chang
@adelbertc
Mar 14 2016 22:25
@SethTisue the only dependency i know Cats depends on that may not be in the build is Algebra
though that will soon be the other way around
ah i misread your question :-)
Seth Tisue
@SethTisue
Mar 14 2016 22:27
you did?
anyway simulacrum, machinist, algebra and algebra-std, kind-projector, all missing
Mike (stew) O'Connor
@stew
Mar 14 2016 22:27
wow "Took 7 hr 44 min "
Adelbert Chang
@adelbertc
Mar 14 2016 22:28
:-)
Mike (stew) O'Connor
@stew
Mar 14 2016 22:28
I imagine that whoever works on the community build has a lot of time for swordplay
Adelbert Chang
@adelbertc
Mar 14 2016 22:28
"Your tests should not be prone to spurious failures." im not sure Cats meets that requirement
i see flakiness more often than im comfortable with
Seth Tisue
@SethTisue
Mar 14 2016 22:28
yeah, often I just do a little increment of work and then set it aside until the next day
but often you can test changes with about a 10 or 15 minute turnaround since dbuild caches successful builds
it would be valuable even just to get Cats in with running the test suite disabled
anyway, there is an umbrella ticket at scala/community-builds#161
Rob Norris
@tpolecat
Mar 14 2016 22:32
i can add doobie. it likes to crash the compiler
is it because dbuild doenst like Scala.JS or because that project in particular doesnt like Scala.JS
Seth Tisue
@SethTisue
Mar 14 2016 22:56
@tpolecat :thumbsup:
@adelbertc dbuild doesn’t like Scala.js
in my experience, every Scala.js-supporting project needs a line like that
it would be awesome if the community build were expanded to support Scala.js, naturally! but it’s out of scope for us at Lightbend currently
InTheNow
@InTheNow
Mar 14 2016 23:06
But the press release said that "Scala.js is developed..." ... "with the help of outside contributors, including Lightbend."
Out of curiosity, how did LightBend contribute?
I spent some time speaking with dudes from Australia who then never replied.
Seth Tisue
@SethTisue
Mar 14 2016 23:12
uh, I don’t really know what that was meant to imply. certainly, we often have to coordinate with Sébastien to make sure we aren’t breaking stuff he depends on. or that if we do, he’s notified of what he needs to update. also, increasingly, design decisions involve taking Scala.js into account. I’m not aware of anything more major than that.
InTheNow
@InTheNow
Mar 14 2016 23:13
Most Typelevel projects support scala.js already
Seth Tisue
@SethTisue
Mar 14 2016 23:13
indeed! it’s very cool to see it spreading
InTheNow
@InTheNow
Mar 14 2016 23:14
So community builds should already work, right?
Seth Tisue
@SethTisue
Mar 14 2016 23:16
I’m sorry, I don’t understand the question?
Rob Norris
@tpolecat
Mar 14 2016 23:16
@SethTisue so if i depend on something that's not already in dbuild then it won't work? like, i need scalaz-stream. and a particular version ... it looks like you only build specific versions of things?
InTheNow
@InTheNow
Mar 14 2016 23:17
it was a rhetorical question
Seth Tisue
@SethTisue
Mar 14 2016 23:19
@tpolecat correct, your full tree of Scala-based dependencies must be included first. the versions don’t have to match exactly but everything is built from source so it must be source compatible for the parts of the library you are actually using
Rob Norris
@tpolecat
Mar 14 2016 23:20
i see, ok.
Seth Tisue
@SethTisue
Mar 14 2016 23:20
as for scalaz-stream, I see it is in the 2.12.x build but not the 2.11.x-jdk8 build, I’m afraid, so you’d either need to tackle adding it to 2.11.x-jdk8, or just be content with targeting 2.12.x. 2.11.x is winding down anyway at this point, so just targeting 2.12.x isn’t terrible.
Rob Norris
@tpolecat
Mar 14 2016 23:24
Yeah it's going to be hard to make this work. Your streams 0.7a branch will work but shapeless master is ahead of me. I have a branch that brings me up to date but then streams and scalaz will be behind me.
InTheNow
@InTheNow
Mar 14 2016 23:24

if the community build were expanded to support Scala.js, naturally! but it’s out of scope for us at Lightbend currently

@SethTisue Are you saying that Scala.js is out of scope? ie not supported?

Seth Tisue
@SethTisue
Mar 14 2016 23:25
@InTheNow correct, Lightbend has never supported Scala.js. perhaps it will in the future, depending on customer interest.
InTheNow
@InTheNow
Mar 14 2016 23:25
thx, straight answer :)
Seth Tisue
@SethTisue
Mar 14 2016 23:26
@tpolecat ok. thanks for taking a look. maybe check back in a couple months. would you mind recording your findings by opening a ticket at https://github.com/scala/community-builds/issues ?
Rob Norris
@tpolecat
Mar 14 2016 23:27
Sure. Can dbuild cope with multiple versions of things? Like, could I add distinct shapeless 2.2 and 2.3 builds?
InTheNow
@InTheNow
Mar 14 2016 23:27
Just that many/most TL projects do, so I'm concerned that a successful community build might imply more than it seems.
eg cats/shapeless are scala.js builds
Seth Tisue
@SethTisue
Mar 14 2016 23:29
@tpolecat yes it can but it’s tricky. the 2.12.x build is already bifurcated into a Specs 2.x and Specs2 3.x “spaces”. but obviously we aren’t eager to add further bifurcations
InTheNow
@InTheNow
Mar 14 2016 23:29
and spire...
Seth Tisue
@SethTisue
Mar 14 2016 23:30
@InTheNow thanks for bringing this up — the community build documentation should say up front that it’s JVM-only for now. I’ll add that right now.
InTheNow
@InTheNow
Mar 14 2016 23:30
@non @milessabin what do you think? They are your projects?
@SethTisue Good man! As always, btw :)
Seth Tisue
@SethTisue
Mar 14 2016 23:31
@InTheNow it’s never a reason not to add a project. we just have to disable the Scala.js portion. this is always easy in my experience
InTheNow
@InTheNow
Mar 14 2016 23:32
:+1:
Rob Norris
@tpolecat
Mar 14 2016 23:33
@SethTisue gotcha. Dependencies are hard. This came up over and over at NEScala/Typelevel. Everyone is suffering.