Where is the string that Theseus laid?

Mention Haskell and IO in the same paragraph and you’ll always find the word Monad in close proximity. Monads are the construct (pattern) that Haskell uses to thread the world state through a series of computations, but when we’re dealing with input and output we need a bit more – and that’s rarely mentioned in tutorial articles. In order to guarantee that output happens in the right order, interactions governed by the IO monad need to throw away some laziness; some parts of the computation need to be strict. This recent blog post is the best explanation I have read concerning this issue and is well worth a read.

This entry was posted in Computers and Internet. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s