Can't find interface-file declaration for type constructor or class integer-gmp:GHC.Integer.Type.Integer

Simon Peyton-Jones simonpj at microsoft.com
Fri Aug 19 00:39:42 CEST 2011


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.

Simon

|  -----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 mailing list