slight difference in strictness between -O0 and -O

Kirsten Chevalier catamorphism at gmail.com
Mon Mar 12 17:53:47 EDT 2007


On 3/12/07, Kirsten Chevalier <catamorphism at gmail.com> wrote:
> On 3/12/07, Albert Y. C. Lai <trebla at vex.net> wrote:
> > main = print (map (const 'x') (take 1 (undefined:undefined)))
> >
> > In ghci, or with ghc -O0, this produces "x".
> > With ghc -O, this produces Prelude.undefined.
> >
>
> What version of ghc?
>

I was curious, so I checked this against ghc 6.6. Indeed, it exhibits
the behavior Albert describes above. Same goes for the HEAD. In ghc
6.4.2, however, the program prints "x" whether compiled with -O or
-O0.

This does seem like a bug to me.

Cheers,
Kirsten

-- 
Kirsten Chevalier* chevalier at alum.wellesley.edu *Often in error, never in doubt
"Live fast, love hard, and wear corrective lenses if you need them."
--Webb Wilder


More information about the Glasgow-haskell-users mailing list