portability of Data.ByteString.Lazy

Ross Paterson ross at soi.city.ac.uk
Wed Nov 22 05:56:38 EST 2006

On Thu, Nov 02, 2006 at 11:51:48AM +0000, Duncan Coutts wrote:
> On Thu, 2006-11-02 at 10:37 +0000, Ross Paterson 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?
> It is defined as a newtype in Data.ByteString.Lazy.Base. But that module
> also defines the strict variant, so within the same module they needed
> different names.
> [...]
> Or we could use a separate .Lazy.Base module for exposing the lower
> level internals of the lazy version and then not use a type alias at
> all.

So can we do that?  What's the process?

More information about the Libraries mailing list