Conservative Language Use For Fun and Profit
Scala provides many tools for building programs. Depending on how you look at it, this can be a great thing, or a terrifying thing. I will take a look at the scala "sub-set" that I adopted over years of pain, and hopefully demonstrate that you can get more benefit from scala by adopting less of it. In the end my sub-set may be different to yours, but it might give you some different ideas on how to approach programming in scala (or in general).
Life Without Stacktraces
Standard programming techniques and debuggers have left us dependant on stacktraces to give us an understanding of how our programs work. With async continuations, trmpolining, recursion and other programming techniques, the stack no longer provides us with any useful information about calling context. This talk will show how safe error handling can provide us with superior tools for the purpose, and how to use them effectively.
Hash Functions as Monoid Homomorphisms
Traditional approaches to hashing have always relied scrambling bits in order to arrive at a one-way-function. We will explore how this approach is fundamentally non-FP, and follow the implementation of a Scala library for monoidal hashing, a principled approach to a composable hashing scheme.