
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
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@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 |
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.