Toby Hobson

Blog

Scala is an advanced JVM language. It is very flexible and could be used as a "better" Java or replacement for Haskell
The Tagless Final Pattern
The Tagless Final Pattern

Tagless Final is something you may have heard about. It’s a functional programming pattern but what exactly is it? Introduction Before getting into the details I want to share with you a word of warning. Tagless final may sound like a cool pattern but it’s not a panacea. I recommend you read John de Goes post highlighting the pitfalls of this pattern. In particular I would urge you to avoid “premature indirection”.

Read more →

Scala Collections Performance
Scala Collections Performance

Recently I’ve been working with Scala. Scala’s collections api is much richer than Java’s and offers mutable and immutable implementations for most of the common collection types. I’ve always been interested in algorithm and data structure performance so I decided to run some benchmarks to see how the collections performed. I was most interested in the relationship between mutable and immutable collections. Note: Scala does list the expected performance characteristics of the collections but it doesn’t show the relative performance of the types.

Read more →