Please log in to watch this conference skillscast.
In Haskell, *everything* is immutable – yet you can print to the terminal, read files, and mutate arrays in place. There are many myths about the apparent type system breakouts and compiler hacks necessary to reconcile these principles. But as it turns out, the concepts are not contradictory at all, there is a purely functional and clean solution!
During this talk, you will discover what it »means« to do IO in Haskell, how it differs from ST, and under what circumstances the infamous »unsafe« functions can be used.
YOU MAY ALSO LIKE:
Change in an Immutable World – Taming IO, ST, and the Demons of Unsafety
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.