workshop
This workshop will teach you the basics of the purely functional programming language Haskell. No prior experience with Haskell or functional programming is required.
We will start by looking at what distinguishes Haskell from other programming languages – including other functional languages; namely its rich type system, lazy evaluation and no mutable state. We will also look at how, with Haskell's powerful type inference, we get strong correctness guarantees without having to sprinkle type annotations everywhere.
We will then dive into some code and see how to use Haskell in practice. You will be using some of the built-in data types, and you will define our own special-purpose data types to solve problems in a test-driven fashion.
After having dipped our toes in some Haskell code, we will end by talking a bit about how not allowing side effects makes Haskell great for concurrency and parallelism and look a bit at how Haskell is used in practice in industry.
Erlend Hamberg started a on computer engineering degree to learn about systems programming and hardware, but veered slightly off course and ended up with a degree in computer science with a specialization in artificial intelligence. After a brief return to his former passion of low-level programming, working on drivers at ARM, his nascent love for Haskell and functional programming sprung into full bloom during a research internship at Galois. He is currently working for Soundrop, building marketing tools for the music business and helps organize the Oslo Haskell meetup group.