simonmarhaskell:
> Tue Apr 15 11:12:08 PDT 2008  Simon Marlow <[EMAIL PROTECTED]>
>   * BangPatterns: probably accept ==> undecided
> 
>     M ./status.hs -2 +3

I think we absolutely must have a story on bang patterns for H'.

They're now very widely used in low level code, where we either don't trust, or
need to tune, the strictness analyser. 

And using CPP for this is just not acceptable, and I still cry a little inside
when I have to use

    #define STRICT1(f) f a | a `seq` False = undefined
    #define STRICT2(f) f a b | a `seq` b `seq` False = undefined
    #define STRICT3(f) f a b c | a `seq` b `seq` c `seq` False = undefined

    STRICT2(f)
    f x y = ...

to achieve portability to Hugs/nhc98 of Data.ByteString.

In the list of features "required for Haskell in practice", bang patterns are
way up there.

-- Don
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime

Reply via email to