Skip to content

Instantly share code, notes, and snippets.

@SethTisue
Last active August 29, 2015 14:24
Show Gist options
  • Save SethTisue/d9698ae9d5749de374d5 to your computer and use it in GitHub Desktop.
Save SethTisue/d9698ae9d5749de374d5 to your computer and use it in GitHub Desktop.

Scalawags #30: Live from Amsterdam

YouTube link: https://www.youtube.com/watch?v=atE_uKi-8so

Your hosts: Josh Suereth, Dick Wall, Heather Miller, Seth Tisue.

Join us during (and between) episodes for web-based Scalawags chat on Gitter.

Intro (0:00)

  • we're in beautiful, scenic Amsterdam for Scala Days, in a hotel room with the curtains drawn and the camera facing a blank wall
  • it's the first day of Scala Days. so far we've only heard Martin's keynote, not any other talks

Martin's keynote (3:00)

  • similar to Scala Days SF keynote
  • heavy coverage of TASTY (Typed Abstract Syntax Trees -Yserialized)
  • basic idea: JARs retain compiled Scala code in intermediate form (not only the bytecode), to permit on-the-fly rewriting and/or code generation. Scala 2 and Dotty could both target it
  • macro definitions could run using a TASTY interpreter; then you wouldn't need two-stage compilation
  • Scala.js got a shout-out from Martin

Macros in Scala 2.12 (12:00)

  • the rumors are: blackbox macros are in, whitebox macros are out? (blackbox macros being "macros that faithfully follow their type signatures")
  • blackbox macros are desirable because they don't defeat language tooling
  • physical violence almost breaks out between Josh and Dick over kitten vs. puppy preferences

Typesafe name change (17:25)

  • Dick is skeptical, but "I'm an engineer, not a marketer"
  • Josh was skeptical at first; read his blog post, http://www.typesafe.com/blog/whats-in-a-name-typesafe-public-renaming-update-week-3
  • Josh: "typesafe" means something to developers; to others, it isn't just meaningless, they can't even remember it
  • Heather: it worked for Google
  • Seth: oh hey by the way I work at Typesafe now (on the Scala team)
  • Heather hotly denies membership in the Borg
  • Typeface, oops Typesafe, and EPFL's relationship to Scala is discussed
  • Seth: "When I hear the new name, I'll have an opinion then"
  • Josh: "as long as it's a cool name"
  • a round of astoundingly terrible name suggestions are made
  • listeners think we're drunk. but define "drunk"

How do you tell people what your job is? (27:45)

  • what is "Scala" anyway, to non-technical people? and how to explain why we like it so much?
  • Dick: everyone's heard of Java, so tell them it's the new Java
  • Java, that thing Windows wants me to update all the time
  • Dick: tell them one or two actual problem domain you've worked on, e.g. genetics
  • Josh: tell them Walmart, Twitter, LinkedIn
  • Heather: "It's websites."
  • Heather hotly denies doing websites
  • Seth: but why do we like Scala so much?
  • Heather: "Good design."
  • Dick: "Power and flexibility."
  • Josh: "Freedom without chaos."
  • Seth: "It's more fun, but also safer."

Scala Library Improvement Process (37:55)

  • PSA from Dick: new SLIP (Scala Library Improvement Process) is starting up. regular monthly meetings broadcast live. announcements, links, discussion at https://gitter.im/scala/slip
  • Josh predicts this process will replace the SIP process
  • Dick: we stole it from Rust

News roundup (44:10)

  • Eugene Yokota has a new blog post series on Cats, similar to his well-known blog post series about Scalaz
  • mandubian is blogging about Cats and free monads
  • newly open sourced: Knobs, from the OnCue team at Verizon (Runar Bjarnason, Tim Perrett, et al). "A reasonable configuration library for Scala". Handles notifications to configuration changes, conveyed through Scalaz tasks
  • from the same team, a logging library called Journal, based on SLF4J
  • Josh: logging should be structured events, not strings. strings bore Josh.
  • Shapeless 2.2 is out
  • Play 2.4 is out, with dependency injection replacing globals. behind the scenes it's Guice, but client code can interact with it in different modes

Annotations, macro and otherwise (53:50)

  • Seth: Java annotations get out of hand and take over some styles of code, does anybody do that in Scala?
  • Josh: not until we get annotation macros, then look out!
  • Dick: annotations, Java's "get out of jail free" card
  • Josh: "annotation macros are compile-time AspectJ"
  • Heather sees Josh's dynamic-loading and dynamic-rewriting future and shivers
  • Seth comes out swinging for annotation macros. it's wrong that something like case classes should be baked into the compiler
  • Heather: well hmm, we did use annotation macros in a pickling prototype once

More news (1:01:15)

Conclusion (1:10:50)

  • jazz hands

1.png 2.png

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment