backward compatibility

Thomas DuBuisson thomas.dubuisson at
Thu Jan 20 03:42:11 CET 2011

In my case I omitted BangPatterns from the pragma by accident and was
thankful for the update.

One slight benefit of the strict requirement of correct pragma is it's
easier to survey Hackage to see how features are used, their
popularity, and inform language design (ex: Garrett Morris's Haskell
Symposium paper).


On Wed, Jan 19, 2011 at 6:32 PM, Kazu Yamamoto <kazu at> wrote:
> Hello,
> I have been using GHC HEAD for some months and am suffering from the
> breaks of backward compatibility.
> 1) MANY packages cannot be complied with GHC HEAD because of lack of
> FlexibleInstances and BangPatterns.
> 2) The network package on github cannot be compiled because the layout
> handling of GHC HEAD became more severe. For instance, here is such
> code from Network/Socket.hsc.
>    allocaBytes (2 * sizeOf (1 :: CInt)) $ \ fdArr -> do
>    _ <- throwSocketErrorIfMinus1Retry "socketpair" $
>                c_socketpair (packFamily family)
>                             (packSocketType stype)
>                             protocol fdArr
> Of course, indentation is necessary before "_". But this can be
> compiled with GHC 7.0.1 but cannot with GHC HEAD.
> I sent feedback to some maintainers of packages. Some quickly fixed it and
> registered it again. But others did not respond. That is reality.
> So, my question is why GHC HEAD does not maintain backward
> compatibility? What are befits for giving it up?
> --Kazu
> _______________________________________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at

More information about the Glasgow-haskell-users mailing list