Can't find interface-file declaration for type constructor or class integer-gmp:GHC.Integer.Type.Integer
johan.tibell at gmail.com
Fri Aug 19 11:00:08 CEST 2011
These two parallel discussions are getting a bit confusing so I
suggest we continue the discussion on the ticket. :)
On Fri, Aug 19, 2011 at 12:39 AM, Simon Peyton-Jones
<simonpj at microsoft.com> wrote:
> It's hard to know what Ian had in mind, but I'm sure he'll tell us when he gets back from holiday.
> Meanwhile, yes, it is hard to reconcile
> * The wish to have multiple implementations of Integer
> * The wired-in knowledge that GHC has
> * The desire to have optimising rewrite rules in client libraries
> I suggested one approach in the ticket earlier today; there might be others. It might be good to figure out a good design before going much further into implementation.
> | -----Original Message-----
> | From: Johan Tibell [mailto:johan.tibell at gmail.com]
> | Sent: 18 August 2011 18:14
> | To: Simon Peyton-Jones
> | Cc: glasgow-haskell-users
> | Subject: Re: Can't find interface-file declaration for type constructor or class
> | integer-gmp:GHC.Integer.Type.Integer
> | On Thu, Aug 18, 2011 at 7:07 PM, Simon Peyton-Jones
> | <simonpj at microsoft.com> wrote:
> | > | I shouldn't have to modify PrelNames since I kept GHC.Integer.Type,
> | > | no? Or does PrelNames have to contain the name of the module that
> | > | originally defined the type?
> | >
> | > Yes, exactly!
> | This causes some trouble though, as the module named in PrelNames must
> | exist in both in integer-gmp and integer-simple i.e. it must be some
> | generic name like GHC.Integer.Type rather than a name containing e.g.
> | GMP. I could keep the data type definition where it is
> | (GHC.Integer.Type) but then I would have a hard time exporting it from
> | e.g. GHC.Integer.GMP.Internals without undoing Ian's patch which
> | removed the slightly odd GHC.Integer -> GHC.Integer.GMP.Internals ->
> | GHC.Integer.Type module dependency in integer-gmp.
More information about the Glasgow-haskell-users