anchor.diff:                          then "package-db"
                           else "package-conf";
   
  +  # the target dir for haddock documentation
  +  docdir = docoutput: docoutput + "/share/doc";
  +
     newCabalFileUrl = "http://hackage.haskell.org/package/${pname}-${version}/revision/${revision}.cabal";
     newCabalFile = fetchurl {
       url = newCabalFileUrl;
  
positive.code:   defaultConfigureFlags = [
      "--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$pkgid"
      (optionalString enableSeparateDataOutput "--datadir=$data/share/${ghc.name}")
      (optionalString enableSeparateDocOutput "--docdir=$doc/share/doc")
      "--with-gcc=$CC" # Clang won't work without that extra information.
      "--package-db=$packageConfDir"
      (optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.name}/${pname}-${version}")
  
negative.code:     inherit pname version;
  
      isHaskellLibrary = hasActiveLibrary;
  
      # TODO: ask why the split outputs are configurable at all?
      # TODO: include tests for split if possible
      # Given the haskell package, returns
      # the directory containing the haddock documentation.
      # `null' if no haddock documentation was built.
      # TODO: fetch the self from the fixpoint instead
      haddockDir = self: if doHaddock then "${docdir self.doc}/html" else null;
  
      env = stdenv.mkDerivation {
        name = "interactive-${pname}-${version}-environment";
  