Circular Reasoning in Haskell by Tom Harding

October 27, 2022

Haskell is a language that prides itself on purity and immutability: once a variable has been declared, it can never change again. This sounds very good, but what do we do when we want to create self-referential structures like graphs? Are we condemned to IO and mutable variables? Most importantly of all, how do we implement `goto` in Haskell? This talk will explore the weird and wonderful consequences of laziness in Haskell: we’ll look at `fix`, `loeb`, `MonadFix`, the `Tardis` monad, and all the ways in which we can write truly unreadable code.

Tom Harding

Check out more from the MeetUp Func Prog Sweden. Func Prog Sweden is the community for anyone interested in functional programming. At the MeetUps the community explore different functional languages like Erlang, Elixir, Haskell, Scala, Clojure, OCaml, F# and more.