λ!

A blog about all things code

Functional creative coding

Every once in a while I find myself returning to creative coding. Previously I used p5js with TypeScript for this. Browsersync’s hot reloading combined with the excellent Processing environment makes for a really pleasant developer experience.

This time, however, I wanted to use creative coding as a way to learn and improve my knowledge of functional programming. There are a number of options out there:

After briefly trying all these options I decided to spend some time to learn Elm. It’s extremely beginner friendly, allowing me to pick up functional concepts at my own pace. Elm-live provides hot reloading, which makes for a very satisfying development workflow combined with the always helpful compiler. Elm does lack some powerful and intriguing concepts that are present in Haskell and PureScript, so at some point I’ll probably find myself wanting to dig deeper into those. But until then Elm has plenty of learning opportunities to offer.

A thing I like to do when learning a language is to follow along with Nature of Code. Not only do you need to familiarize yourself with the syntax, it forces you to explore various libraries as well. It’s been a very pleasant learning experience so far; you can follow the progress here.

Tags: Creative coding, Functional programming