Sto leggendo Programming in Haskell libro e testare esempi forniti in GHCi interprete. Risulta che c'è una differenza nel comportamento del tipo Int
nell'interprete GHCi e Hugs. Secondo il capitolo 3 della "Programmazione in Haskel", lo 2^31 :: Int
dovrebbe andare al di fuori del range del tipo Int
. Nel frattempo, in GHCi interprete ottengo:Perché il tipo Int 2^31 non supera l'intervallo in GHCi?
Prelude> 2^31 :: Int
2147483648
mentre in Abbracci si comporta proprio come il libro dice:
Hugs> 2^31 :: Int
-2147483648
In GHCi ho anche possibile controllare se il risultato è tipo di Int
Prelude> let x = 2^31 :: Int
Prelude> :type x
x :: Int
Prelude> x
2147483648
Qual è la fonte della differenza descritto? Devo eseguire gli esempi dal libro in Hugs o usare GHCi che sembra essere la scelta raccomandata per l'apprendimento di Haskell? Sarò grato per il tuo aiuto.
si dovrebbe solo disinstallare hugs – alternative
@alternative: Penso che il download degli abbracci dovrebbe essere rimosso! O magari spostati in un luogo oscuro e protetti da una sorta di CAPTCHA specifico Haskell che necessita di una conoscenza dettagliata della differenza tra Haskell98 e Haskell2010 per rispondere ... – yatima2975