template-haskell depends on packedstring

Simon Marlow marlowsd at gmail.com
Mon May 18 08:07:06 EDT 2009


On 01/12/2008 00:04, Duncan Coutts wrote:
> 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.

It's a simple change, and we really ought to drop the packedstring 
package.  I'll make a proposal.

Cheers,
	Simon


More information about the Libraries mailing list