[Haskell-cafe] System.Random StdGen read fails on some strings?

Fritz Ruehr fruehr at willamette.edu
Tue Mar 13 03:37:46 EDT 2007


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070313/0ae57f0a/attachment.htm


More information about the Haskell-Cafe mailing list