haskell-cafe@haskell.org
[Top] [All Lists]

Re: [Haskell-cafe] instance Binary UTCTime (Was: Oprhan instances)

Subject: Re: [Haskell-cafe] instance Binary UTCTime Was: Oprhan instances
From: Joachim Breitner
Date: Wed, 02 Dec 2009 23:03:52 +0100
Hi,

Am Montag, den 30.11.2009, 00:30 +0000 schrieb Duncan Coutts:
> I should also note that distros will not look kindly on solutions that
> require N * M separate packages.

with my Debian-Developer hat on I can very much support this statement.
Which is why Iâm so interested in a proper solution to the
instance-Providing-problem. And which is why Iâm trying to revive the
thread now :-)

Would it be techically possible and feasible to write instance that do
not actually cause a dependency on the package that defines the class
resp. the data type? From a distributor point of view, I could live
quite well with a setup like this:
 * When the package providing class Foo is compiled, instances for all
interesting data types in the distribution are defined. This means a lot
of build-dependencies, but they are not too bad (although annoying).
 * The generated package does (somehow) not depend on all these data
packages. Of course, any part of the code that uses these data types,
especially the class instances, are only usable when the corresponding
package is also installed. I guess this would need compiler support, to
not choke on code that uses unknown data types.
 * Packages needing an instance Foo Bar would just depend on the packges
providing foo and bar, and the instance will be available and
functional.

This idea works symmetric: The instances could also be defined in the
data type package, with no hard dependency on the package providing the
class definition.


Greetings,
Joachim

-- 
Joachim "nomeata" Breitner
  mail: mail@xxxxxxxxxxxxxxxxxxx | ICQ# 74513189 | GPG-Key: 4743206C
  JID: nomeata@xxxxxxxxxxxxxxxxxxx | http://www.joachim-breitner.de/
  Debian Developer: nomeata@xxxxxxxxxx
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@xxxxxxxxxxx
http://www.haskell.org/mailman/listinfo/haskell-cafe
<Prev in Thread] Current Thread [Next in Thread>