Skip to content

Articles

There is a variety of great articles written by Haskellers on all sorts of intermediate and advanced topics. See here for an overview of popular blogs.

Industry Haskell

Interviews with industry Haskell projects

For newcomers

Why Haskell?

Edward Kmett's opinion (on Quora)

Types

Parse, don't validate

How to think about types

Purity

Equational reasoning

Idiomatic Haskell

Style guide

Naming conventions

Syntax

Overview

For Intermediate Haskellers

Laziness and performance

An old but classic article on laziness and modularity

A guide to lazy evaluation, with sections on time and space performance.

The Haskell wiki on laziness

Recursion and recursive types

A tour of some useful recursive types

Mergesort example with recursion schemes

A series on recursion schemes:

Another nice introduction to recursion schemes

Another kind of recursion scheme (prepromorphism)

Testing, profiling and benchmarking

Property based tests

Unit tests

Benchmarking

Algorithms and data structures

Common data structures

Efficient queues

Finger trees

Web

Databases and servers

A web framework

The type system

Type level programming

Dependent types

Typeclasses

Typeclass metaprogramming

Exceptions

Exceptions

Miscellaneous

Comonads

Advanced level resources

Compilation

Inlining

GHC

JIT compilation

Implementing variable binding

Algorithms and data structures

The codensity monad optimization

Articles by Ed Kmett1:

Template Haskell (metaprogramming)

Intro to Template Haskell

Tutorial on Template Haskell

For Developers

Writing documentation

Using Haddock

Stack vs Cabal

Nix

Advice on large projects

Reflections on Haskell in production


  1. Ed Kmett is a hugely prolific Haskell library contributor. His libraries tend to be aimed to more advanced users, and to lean into Haskell's capabilities to write very general abstract code.