portability of Data.ByteString.Lazy

Donald Bruce Stewart dons at cse.unsw.edu.au
Thu Nov 2 07:12:25 EST 2006


Malcolm.Wallace:
> Ross Paterson <ross at soi.city.ac.uk> wrote:
> 
> > Data.ByteString.Lazy defines ByteString as a type synonym, and then
> > uses that in instances, which isn't permitted by Haskell 98.  How
> > about defining a newtype ByteString in Data.ByteString.Lazy.Base
> > instead?
> 
> Here is another portability problem in Data.ByteString.Lazy:
> 
>     Constructor :*: used at 590:22-590:24 is not defined.

Hmm, strange.

It's defined in Data.ByteString.Fusion:

    infixl 2 :*:

    -- |Strict pair
    data PairS a b = !a :*: !b deriving (Eq,Ord,Show)

and imported via:

    import Data.ByteString.Fusion (PairS(..),loopL)

-- Don


More information about the Libraries mailing list