Skip to content

Instantly share code, notes, and snippets.

@SethTisue
Last active August 29, 2015 14:15
Show Gist options
  • Save SethTisue/8fa1388c9000274d8a24 to your computer and use it in GitHub Desktop.
Save SethTisue/8fa1388c9000274d8a24 to your computer and use it in GitHub Desktop.
Scalawags #27: Ask the Scalawags

Scalawags #27: Ask the Scalawags

recorded in the flesh, at the Northeast Scala Symposium 2015, Boston MA USA, in front of a sitting-room-only throng of admirers (and Dustin Whitney)

audio only, no video

your hosts this episode: Josh Suereth, Dick Wall, Seth Tisue

cheering throng

Intro (0:00)

  • theme music comes booming out of our state-of-the-art sound system
  • will Josh ever replace his ancient laptop?
  • Seth hearts the interpreter pattern

Scripting with Scala (4:35)

  • Dick liked Josh's talk about writing command line applications using sbt
  • all three of us like using Scala for small scripting tasks
  • improving (or working around) slow JVM startup times:
  • Paul Phillips' bash automation and meta-automation skills boggle Josh's mind

Rapture, JSON, Dynamic (13:15)

  • an audience member liked Jon Pretty's talks about type inference (day 1) and Rapture (day 2)
  • Rapture can use the Dynamic trait for accessing fields in JSON objects
    • should we use this power? you lose safety, completion, ...
    • but maybe your JSON is irregular, or its shape isn't known at compile time
  • Josh spins tales of battling legacy-API woe with Dynamic

Type inference (22:45)

  • Dustin liked Jon's type inference talk
  • but is Scala scary?
  • Seth: when we're mixing traits together, could there be some way to specify which ones we want to participate in type inference?
    • Dick: "this is not the type you're looking for"
    • example: collections. we usually don't want to see all those Like traits
    • example: Option. we normally want Some(3) to have type Option[Int] but we get Some[Int]
  • the compiler could help you more with getting your sealed traits right
    • want to make a Scala programmer wince? say Product with Serializable
    • how about an "algebraic" annotation?

Scalactic and library design (33:00)

  • audience: I liked Bill Venners' talk about validation using Scalactic
  • library design: work with the standard library, or provide an alternative? Scalaz is its own world
  • Josh: hey, if you're going to wrap a Java library or port a Haskell library, take the time to do it the Scala way
  • anyone remember iteratees?
  • Bill Venners wrote the War and Peace of Scaladoc
  • package-level docs are more important than method-level docs
  • love for Pamflet
  • do the tutorial, then draw the rest of the owl
  • docs are for supporting contributors, too

Awesome things (44:00)

  • Awesome slides: Marconi Lanna presented his ASCII-art slides in the Scala REPL
  • Josh's awesome microphone (which recorded this): see photo below
  • Josh denies carrying a straight razor on an airplane
  • audience: someone should do an awesome talk about error handling and futures
  • Dick likes awesome Task in Scalaz
  • Seth cruelly cuts off an awesome discussion on Monadish from Haskell

Josh's microphone

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