Para gerar números aleatórios em Haskell, normalmente se utiliza o pacote random, que faz parte da Plataforma Haskell.
random
Haskell usa as funções round, ceiling, floor e truncate do Prelude para operações de arredondamento.
round
ceiling
floor
truncate
Prelude
Haskell lida com números complexos através do módulo Data.Complex.
Data.Complex