According to the documentation for System.Random (see <http:// haskell.org/ghc/docs/latest/html/libraries/base/System-Random.html>):

In addition, read may be used to map an arbitrary string (not necessarily one produced by show) onto a value of type StdGen. In general, the read instance of StdGen has the following properties:

    * It guarantees to succeed on any string.
    * ...

On the other hand, I get the following on the (admittedly stupid, spur-of-the-moment) String argument "whateva":

Hugs> :l System.Random
System.Random> read "whateva" :: StdGen

Program error: Prelude.read: no parse

System.Random> map read $ words "this is a test of the System dot Random StdGen read, which seems to fail only on ... whateva" :: [StdGen] [4580 1,440 1,101 1,4584 1,445 1,1485 1,35261 1,1377 1,32825 1,34047 1,13422 1,14037 1,13637 1,469 1,4132 1,4514 1,453 1,626 1,
Program error: Prelude.read: no parse

Am I missing something here? Or am I just being punished for the stupidity of my particular choice of String? :)

  --  Fritz

PS: this happens with both Hugs Version: September 2006 and GHC Interactive, version 6.6, running on Mac/Tiger, for what that's worth.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to