template-haskell depends on packedstring

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Sun Nov 30 17:56:05 EST 2008

On Sun, 2008-11-30 at 16:07 -0500, Gwern Branwen wrote:

> > The question is if one should break the TH api just to remove this
> > deprecated dependency. Especially when it is slated to be replaced with
> > an improved unicode packed string type in the future.
> >
> > So either we break it once, or twice.

> I don't really see why we would need to change the API; let's just
> make the types = String, and the conversion functions null-ops.

Ah, I see. I'd not looked that closely. It's this bit you're referring

type OccName = PackedString
mkOccName :: String -> OccName
occString :: OccName -> String

type ModName = PackedString
mkModName :: String -> ModName
modString :: ModName -> String

type PkgName = PackedString
mkPkgName :: String -> PkgName
pkgString :: PkgName -> String

Technically that's not an abstract api so changing the type alias could
break programs, though I agree that it may be unlikely.

> Unless there's some sort of low-level binary API compatibility you are
> referring to?

No, just the source level API.


More information about the Libraries mailing list