backward compatibility

John Meacham john at repetae.net
Thu Jan 20 03:47:37 CET 2011


On Wed, Jan 19, 2011 at 6:32 PM, Kazu Yamamoto <kazu at iij.ad.jp> 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

Allowing this was a specific feature that was included in ghc on
purpose (as well as the relaxed if/then layout rule in do statements)
So this is definitely a regression.

     John



More information about the Glasgow-haskell-users mailing list