[Haskell-cafe] On the purity of Haskell
Steve Horne
sh006d3592 at blueyonder.co.uk
Thu Dec 29 20:47:26 CET 2011
On 29/12/2011 19:21, Heinrich Apfelmus wrote:
>
> Why would IO Int be something special or mysterious? It's an
> ordinary value like everything else; it's on the same footing as
> [Char], Maybe Int, Int -> String, Bool, and so on. I see no difference
> between the list [1,2,3] :: [Int] and the action "pick a random
> number between 1 and 6" :: IO Int .
>
Because performing the action (as part of extracting the result out of
it) is relevant to the semantics of the language too, whether an IO
monadic random generator or an an interaction with the user via a GUI or
whatever.
BTW - why use an IO action for random number generation? There's a
perfectly good pure generator. It's probably handy to treat it
monadically to sequence the generator state/seed/whatever but random
number generation can be completely pure.
More information about the Haskell-Cafe
mailing list