patch applied (packages/regex-base): Make setup script
compileagain after recent Cabal changes
apfelmus at quantentunnel.de
Sun Sep 2 04:19:38 EDT 2007
Claus Reinke wrote:
> does anyone else feel that there is something wrong in haskell library
> land? i'm picking on cabal here as one of "the usual suspects", but it
> seems to have become the rule that otherwise stable code has to be fixed
> every so often, to accomodate new compiler versions, new library
> dependency versions, new cabal versions, new xyz versions,..
Wouldn't the fundamental solution to backward compatibility simply be to
install old versions of a library? I mean, if the code only compiles
with foo-1.0 but no longer with foo-2.2 then we'll just link against
this old dependency foo-1.0. Viewed this way, backward compatibility of
the API of foo-2.2 with foo-1.0 is just an optimization to save disk
space since you don't have to keep two separate packages foo-1.0 and
foo-2.2 around then.
In general, I think that the notions "install" and "uninstall" are wrong
for package management. IMHO, the right way is a purely functional one,
along the lines of Nix
In essence, Nix treats every "package" (= populated directory tree) as a
cell in some kind of _immutable_ memory (= disk space in this case). A
set of installed packages corresponds to a set of allocated cells in
memory. This is entirely analogous to storing Haskell values in memory.
And not surprisingly, package contents can then be generated as values
in a purely functional language, dependencies are just function arguments.
More information about the Libraries