Haskell is one of the few programming languages that use lazy evaluation: computations get performed only when their result is demanded. It is however not so straightforward to combine lazy evaluation with side effects, such as reading from a file.
Lazy I/O is the standard solution to this in the current base libraries, but has its problems. We explain how lazy I/O works, what the problems are, and explore some of the solutions that are being proposed at the moment: iteratees, pipes, stream I/O, etc.
YOU MAY ALSO LIKE:
- Martine Devos' Coaching Kanban for Teams (in London on 19th - 20th September 2016)
- Martine Devos' Certified Scrum Master, Estimation & Planning Class (in London on 10th - 11th October 2016)
- Uncle Bob's Clean Code: Agile Software Craftsmanship (in London on 31st October - 2nd November 2016)
- Agile Testing & BDD eXchange 2016 (in London on 10th - 11th November 2016)
Lazy I/O and Alternatives in Haskell
Edsko joined Well-Typed as a Haskell Consultant in 2012. He is one of the primary authors of Cloud Haskell and has recently been working on Haskell language infrastructure.Edsko has been using Haskell since 2004, and holds a PhD in substructural type