Tutorial: (English)

Generative Art in Haskell

In this tutorial, we’re going to dive into the world of 2D geometry, recursive patterns and randomness to generate art from Haskell code.

Using a beginner-friendly geometry library, we’ll build up more and more interesting 2D images that are generated algorithmically or even interactively.

We’ve prepared a few examples like Voronoi patterns, Penrose tiling, and bouncing rays. This is a guided tour, so feel free to lean back and enjoy, but there will be plenty of time to code along and bring your own ideas to the Canvas!

Prerequisites: Beginner knowledge of Haskell (“Learn you a Haskell” level)

Generative Art

David Luposchainsky (quchen)


David has been a Haskell enthusiast ever since he (was) stumbled upon it in early 2012 as a physics student. After spending a lot of time with it and talking to others in #haskell, he proposed the unifying the Applicative-Monad hierarchy and removing the fail function from the Monad class to the mailing lists. The former is live as of GHC 7.8, the latter is in a backwards-compatible slow transitional phase for the next couple of compiler versions. As of 2016, he is member of the Core Language committee to work on the next Haskell standard.

When David isn’t working or haskelling, he spends his time outdoors hiking, bouldering, mountainbiking or motorcycling.

Franz Thoma

Franz Thoma is originally a physicist and works as a consultant and software engineer at TNG Technology Consulting in Munich. While spending time there on domain specific languages and building compilers, he discovered his love for functional languages and expressive type systems. With Haskell, Franz found a robust and elegant language to express himself, which he uses for his own personal tooling as well as a thinking tool.