YouTube link: https://www.youtube.com/watch?v=T6A3FpfEJG8
Surfboards, suntans, and... Scala?
Your hosts this episode: Dick Wall, Daniel Spiewak, Heather Miller, Seth Tisue
Join us during and between episodes for web-based Scalawags chat on Gitter.
- Daniel utterly disavows any familiarity with pop culture
- Heather is AWOL in Kazakhstan or maybe Kyrgyzstan
- Josh is AWOL because shhhhhhhhh. let the rumors fly!
- Dick Wall isn't welcome in Canada
- Seth escapes giant bird, lives in San Francisco now
- Daniel expounds on the Laurentian Divide
- Dick's messing with Scala and GIS at Seebo
- also, he will sell no wine before its time
- "how far things have come, how easy it's got" to build and deploy a whole app/site yourself (thank you Heroku)
- yes Lutz he's using Scala and Play (and play-json)
- also working with Josh writing their Scala World talk about for comprehensions
- prepare for an onslaught of puns
- Daniel's improved Scala mode for Sublime "literally fixes everything" and is "definitively second best" (behind Emacs)
- Dick's still making ENSIME/Sublime improvements, using that combo "80 or 90 percent of the time" when writing Scala
- but make sure you allow ENSIME huge amounts of RAM
- surprise, Daniel has been at a "million conferences"
- and moving (just within town)
- and working at Verizon now (since January)
- with Scala notables such as Rúnar (Bjarnason), Tim (Perrett), Stew (O'Connor), Cody (Allen), ...
- Scala World, September 12-13 in the UK's Lake District
- Dick defends England's climate, in vain
- Scala by the Bay, November 11-13
- in San Francisco this time, not Oakland, at Twitter HQ
- Scala Symposium, Oct 30-31 in Amsterdam, co-located with Splash
- and Dick's revving up early for Devoxx's first US conference, March 21-23 in San Jose
- he's heading the languages track. Scala will be "well represented", but how about up-and-comers like Elm, Pony, Rust? Daniel suggests PureScript.
- Scala 2.12.0-RC1 imminent (M5 already out)
- Scala Native is taking off; strong community participation
- Scala Exercises site launched
- contributions wanted both for Scala, and for 3rd party libraries
- ScalaTest 3.0 is out, with Scala.js support and async testing
- ScalaBridge launched: "introductory programming workshops for women", modeled after RailsBridge
- recent Scala Center activities:
- several engineers hired
- Scaladex library index launched and open sourced
- three MOOCs launched on Coursera
- SIP (Scala Improvement Process) revised and relaunched by Jorge Cantero: July meeting notes, August meeting notes
- work on a Scala code migration tool has started
- Daniel is thinking about the Scala-to-Dotty migration path (Scala 2.x to 3.x)
- Dick's realized that Scala 2 isn't standing still, Dotty features are being backported
- IntelliJ has some level of Dotty support now
- Dick praises JetBrains for not sacrificing Scala support to Kotlin
- Daniel: getting started with Dotty is a lot easier than it used to be (REPL, sbt support...)
- ENSIME and Dotty? it would need a presentation compiler. this came up at the recent Scala Center advisory board meeting
- Dotty had this use case in mind from the start, unlike scalac
- "Add support for partial unification of type constructors"
- SI-2712 got addressed by this PR by Miles Sabin
- the PR has a lot of discussion and technical details, including an explanation written by Daniel
- what is this SI-2712 thing anyway? Daniel expounds
- Scala would refuse to infer only one type parameter of a higher kinded type with multiple type parameters, because it didn't know which one you mant; now (if you enable
-Ypartial-unification
) it assumes you meant the first one (left to right)- which Daniel describes as "what almost everybody wants almost all of the time"
- do you have to worry whether a library you use was compiled with this or not?
- binary compatibility: no
- as an API user: perhaps
- Seth: hey, does somebody want to SIP the kind-projector plugin, which gives a much nicer syntax for type lambdas?
- Daniel says there are some subtleties and limitations that would need to be addressed (danger, don't get "pessimistic and jaded")
- Either is now right-biased (see Simon Ochsenreither's PR)
- is everyone completely pleased? will alternatives such as Cats's
Xor
go away? - the change will be in 2.12.0-RC1 and we'll learn more then
- let's fight about how to pronounce everything!
- Seth: everything's moving again: 2.12, Dotty, the Scala Center, SIPs...
- and not so much bad blood? we'll see once the SLIPs come back, perhaps
- including the notorious JSON SLIP
- and the concept of a "Scala platform", or multiple platforms
- Daniel is "placated" and has "absolutely no objections anymore" to the JSON proposal in the context of a platform
- initial implementation by Adriaan Moors and George Leontiev
- Miles Sabin is now trying to polish and finish it on this PR
- Dotty already has this
- Daniel thinks this is "not actually as useful as it seems", especially since you need to use macros to take full advantage
- there was further discussion on this point on our Gitter channel
- how much actual typelevel programming does this enable?
- the PR will probably make Scala 2.12.1 (behind
-Yliteral-types
flag or-Xexperimental
?)- it may appear sooner in Typelevel Scala
- syntax discussion: syntax in PR differs from Dotty syntax? we're not sure
- we can relax,
.type
is definitely not required (Daniel's correction)
- we can relax,
- semantics discussion: Dotty is far more willing to hang on to singleton types
- Dick's wanting to use singleton types in a GIS context
- Daniel: Shapeless (or Daniel's own micro-Shapeless called "Shapely") can help you with this
- play the breakdown, because we're broken-down lamers without Josh
Cool podcast !!