Can containers depend on Template Haskell?

Henning Thielemann lemming at henning-thielemann.de
Sun Dec 5 08:56:04 CET 2010


On Sat, 4 Dec 2010, Mark Lentczner wrote:

> I'm not being dense here. I understand the implications of such a choice 
> in a library. But I can easily imagine libraries where the developers 
> will decide to offer slightly different APIs on different platforms, 
> Since we have template haskell and cpp preprocessing available, these 
> scenarios will arise.

Unfortunately it happened too often already. Especially if a package 
depends on user flags, the importer of that package has no chance to find 
out, what API of the actual installation of the package is. I have written 
this into
    http://www.haskell.org/haskellwiki/Cabal/Developer-FAQ#Enabling_additional_features_via_Cabal_flags

Given the problems people already have with Cabal and conflicting 
versions, I really really plead for simple packages. One package for each 
task. If a package can be compiled on different platforms, that's great. 
But it should provide a unified API in order to simplify the work for 
other package authors.



More information about the Libraries mailing list