High Wizardry in the Land of Scala
Scala is an intensely powerful language. One of the most obvious ways in which this manifests is the syntax, which is wonderfully amenable to internal DSLs and flexible APIs (not to mention endless reams of obfuscated sources and fanciful operators). However, despite the superficial flash of Scala's syntactic skin, its true power lies in the type system and in the language's deep semantic constructs.
This talk will dive into some of the more remote regions of the kingdom of Scala. Specifically, we will cover the following topics:
- Higher-Kinds (what they are and how they can be applied)
- Type-Level Encodings (*really* exploiting Scala's type system)
- Typeclasses (just like Haskell...except not)
- Delimited Continuations (and you thought kinds were confusing!)
Please note that this is an advanced talk targeted at the Scala practitioner who is already fairly comfortable with the language. With that said, we hope the talk will remain reasonably accessible to the Scala beginner - so long as they don't object to the presentation of odd and esoteric language features with disturbing enthusiasm.