
26 Jan
2011
26 Jan
'11
3:22 p.m.
Inside a do block, I can very conveniently substitute let x = <pure exp> <continued monadic code> for either x <- return <pure exp> <continued monadic code> or let x = <pure exp> in do <continued monadic code> However, I can't do anything similar (that I know of) with if or case expressions. If I use if or case inside a do block, it's likely that I'm still using monadic expressions (at least in my experience). Is there some nasty semantic ambiguity that comes of this? Is it just not in the standard yet? Is there some extension that I'm not aware of? -- Edward Amsden Undergraduate Computer Science Rochester Institute of Technology www.edwardamsden.com