Skip to content

Generalize the 'RandomGen' and 'Random' classes

RandomGen and Random classes assume generators produce Int values. This is non-ideal as many high speed generators produce special values (ex: doubles) or generic values (bit streams / bytestrings) that can be converted directly to my types easier than coercing to Int then to an 'a' via the Random class.

The proposal is to change the classes from/to:

    class RandomGen g where

  -->

    class RandomGen g v | g -> v where

and

    class Random a where

  -->

    class Random a v where

And make needed changes to the classes instances that follow from these.

Edited by Ian Lynagh -
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information