Li que variáveis são imutáveis em Haskell e algo como o seguinte não funciona em Haskell.
x = 30
x = x+1
Mas ainda tentei isso para ver o que o compilador retorna e obtive o seguinte:
O compilador simplesmente para de responder e não faz nada até que eu pressione ctrl+c e o interrompa.
Por que isso acontece e por que o compilador deixa de responder em vez de me retornar algum tipo de erro?
Definições em Haskell podem ser recursivas, até mesmo definições de valores. Quando você escreve:
É semelhante a escrever isso em Python:
Quando você tenta avaliar
x
, seu programa fica preso em um loop infinito.