
10 Jun
2011
10 Jun
'11
12:47 a.m.
On 10/06/2011, at 1:24 AM, James Cook wrote:
On Jun 8, 2011, at 11:17 PM, Gregory Guthrie wrote:
I rather had the feeling expressed by Robert Harper: " Once you're in the IO monad, you're stuck there forever, and are reduced to Algol-style imperative programming." (http://existentialtype.wordpress.com/2011/05/01/of-course-ml-has-monads/)
The problem is that ML is *also* stuck in the IO monad all the time, it just tries to pretend that it isn't. From the signature of an ML function you have no idea what state changes it might cause. Ironically, as someone who originally loved ML to bits, I've always found I/O code harder to express in SML than in Haskell.