template-haskell depends on packedstring
duncan.coutts at worc.ox.ac.uk
Sun Nov 30 19:04:04 EST 2008
On Sun, 2008-11-30 at 18:37 -0500, Gwern Branwen wrote:
> > Ah, I see. I'd not looked that closely. It's this bit you're referring
> > to:
> > 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.
> I would argue that it's less unlikely than richly deserved. :) (I find
> it difficult to imagine why a TH hacker would deliberately tunnel
> through the alias, personally.)
> >> Unless there's some sort of low-level binary API compatibility you are
> >> referring to?
> > No, just the source level API.
> OK. Is the previous issue a fatal objection or can we just make the
> change and upload a new TH?
How about making a library proposal to change them to abstract newtypes,
then we can change the internal representation at will.
I would not object to that, but then I'm not a TH hacker and they
deserve the chance to comment.
More information about the Libraries