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:
- Functional and low-level: watching the STG execute (SkillsCast recorded in October 2016)
- Safe and Reproducible Deployments with Immutable Infrastructure (in Online Event on 28th May 2020)
- The Secrets of the GHC Garbage Collector (in Online Event on 11th June 2020)
- Lightning Talk: Making and Testing Code Generators in Haskell (SkillsCast recorded in October 2019)
- Functional Lenses Through a Practical Lens (SkillsCast recorded in October 2019)
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.