Haskell is an elegant and fascinating language that has made purely functional programming practical. This tutorial aims at explaining and motivating key language concepts.
We will start by exploring basic syntax and the Haskell type system in an interactive Haskell environment. You will learn about algebraic data types, pattern matching, polymorphic functions, type classes. We will also discuss purity and lazy evaluation, and how programming with effects works in Haskell (like database or network access or interaction with the user).
Presentation language will be English, but we are happy to discuss your questions in German.
To participate in the practical exercises of this tutorial, you need a recent version of GHC (preferably 7.10.3) and a text editor suitable for programming.
One easy way of getting GHC 7.10.3 and a number of useful tools and libraries is to install the current version of the Haskell Platform.
There are plenty of suitable text editors, and most editors these days come with support for Haskell syntax highlighting. Any of these will do. We do not need any more advanced support for this tutorial.
However, if you are interested in more advanced Haskell editing support, you may want to look at ghc-mod. One good editor that has ghc-mod support is Atom, for which you then will want to install the language-haskell and haskell-ghc-mod packages.
Matthias Fischmann has implemented his thesis at the Max Planck Institute for Computer Science in Haskell 15 years ago, and has been a user and proponent of functional programming ever since. He works as a software consultant for well-typed.com and is CEO at zerobuzz.net.
Andres Löh is a Haskell consultant and co-owner of Well-Typed LLP. He is based in Regensburg, Germany. He started using Haskell in 1997, when being an undergraduate student of mathematics in Konstanz, and has been an enthusiastic functional programmer ever since. Andres obtained a PhD in Computer Science from Utrecht University in 2004, on extending the Haskell language with capabilities for datatype-generic programming. After having been a university lecturer for several years, he joined Well-Typed in 2010.
Andres is very interested in applying functional programming to real-world problems, and in particular in datatype-generic programming, domain-specific languages, (dependent) type systems, parallel and concurrent programming, and the theory of version control.