anchor.diff:        LANG = "en_US.UTF-8";
         LOCALE_ARCHIVE = optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive";
         shellHook = ''
  -        export NIX_GHC="${ghcEnv}/bin/${ghcCommand}"
  -        export NIX_GHCPKG="${ghcEnv}/bin/${ghcCommand}-pkg"
  -        export NIX_GHC_DOCDIR="${ghcEnv}/share/doc/ghc/html"
  -        export NIX_GHC_LIBDIR="${ghcEnv}/lib/${ghcEnv.name}"
  +        export NIX_${ghcCommandCaps}="${ghcEnv}/bin/${ghcCommand}"
  +        export NIX_${ghcCommandCaps}PKG="${ghcEnv}/bin/${ghcCommand}-pkg"
  +        export NIX_${ghcCommandCaps}_DOCDIR="${ghcEnv}/share/doc/ghc/html"
  +        export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/${ghcEnv.name}"
         '';
       };
   
  
positive.code: 
    setupCommand = if isGhcjs then "${ghc.nodejs}/bin/node ./Setup.jsexe/all.js" else "./Setup";
    ghcCommand = if isGhcjs then "ghcjs" else "ghc";
  
  in
  stdenv.mkDerivation ({
  
negative.code: let
  
    inherit (stdenv.lib) optional optionals optionalString versionOlder
                         concatStringsSep enableFeature optionalAttrs toUpper;
  
    isGhcjs = ghc.isGhcjs or false;
  
  