Para generar números aleatorios en Haskell, uno típicamente usa el paquete random, que es parte de la Plataforma Haskell.
random
Haskell utiliza las funciones round, ceiling, floor y truncate de Prelude para operaciones de redondeo.
round
ceiling
floor
truncate
Prelude
Haskell maneja los números complejos con el módulo Data.Complex.
Data.Complex