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