[Haskell-cafe] Confused by ghci output

Clark Gaebel cgaebel at uwaterloo.ca
Thu May 31 18:52:41 CEST 2012


Wow, thanks! That was subtle.

  - Clark

On Thu, May 31, 2012 at 12:49 PM, Claude Heiland-Allen <claude at goto10.org>wrote:

> Hi Clark,
>
> ghci is defaulting to Integer
> modexp2 forces Int
> Int overflows with 3^40
>
>
> On 31/05/12 17:35, Clark Gaebel wrote:
>
>> *X>  3^40 `mod` 3 == modexp2 3 40 3
>> False
>>
>
> *X> fromInteger (3^40 `mod` 3) == modexp2 3 40 3
> True
>
>
>  *X>  modexp2 3 40 3
>> 0
>> *X>  3^40 `mod` 3
>> 0
>>
>
> *X> 3^40 `mod` 3 ::Int
>
> 2
>
>  I'm confused. Last I checked, 0 == 0.
>>
>
> Int overflow is ugly!
>
> *X> 3^40
> 12157665459056928801
> *X> maxBound :: Int
> 9223372036854775807
>
>
> Claude
>
>
>> Using GHC 7.4.1, and the file x.hs (which has been loaded in ghci) can be
>> found here: http://hpaste.org/69342
>>
>> I noticed this after prop_sanemodexp was failing.
>>
>> Any help would be appreciated,
>>   - Clark
>>
>>
>>
>>
>> ______________________________**_________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/**mailman/listinfo/haskell-cafe<http://www.haskell.org/mailman/listinfo/haskell-cafe>
>>
>
>
> ______________________________**_________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/**mailman/listinfo/haskell-cafe<http://www.haskell.org/mailman/listinfo/haskell-cafe>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120531/8dbab2c8/attachment.htm>


More information about the Haskell-Cafe mailing list