[Haskell-cafe] Library Process (was Building "production stable" software in Haskell)

Sven Panne sven.panne at aedion.de
Sun Sep 23 07:03:27 EDT 2007

On Thursday 20 September 2007 16:33, David Menendez wrote:
> Does RPM, etc., deal with the fact that Haskell library installations
> are specific to a particular platform?

It depends what you mean with "deal": If it is only making sure that a given 
binary library RPM matches the installed Haskell system, yes.

> If I install GHC and some library, and later install Hugs or a later
> GHC, how easy is it to make sure the library is available to the new
> installations?

This is asking for much more, and the general answer for all mature packaging 
systems I know is: This will never be the case for *binary* packages. The 
simple reason is that for rebuilding packages (this is basically what you are 
asking for), you have different (and typically *many*) more dependencies. 
This is why e.g. RPM differentiates between "Requires" (i.e. normal runtime 
dependecies) and "Build-Requires" (dependencies for building an RPM).

Although this situation is far from perfect, it is a direct consequence of the 
fact that there is no such thing as a "standard Haskell ABI" which is shared 
between all implementations and versions of them. The situation in C is much 
better (because it is much easier there), but even C++ suffered from ABI 
problems for several years on most platforms.


More information about the Haskell-Cafe mailing list