anchor.diff:      };
     };
   
  -  inherit ghcjs ghcjsCompiler;
     platforms = [
       "ghcjs"
       "ghc"
  
positive.code:       };
      };
      haskellLib = nixpkgs.haskell.lib;
      filterGit = builtins.filterSource (path: type: !(builtins.any (x: x == baseNameOf path) [".git"]));
      # All imports of sources need to go here, so that they can be explicitly cached
      sources = {
        ghcjs-boot = if builtins.pathExists ./ghcjs-boot/git.json then fetchgit (builtins.fromJSON (builtins.readFile ./ghcjs-boot/git.json)) else {
          name = "ghcjs-boot";
          outPath = filterGit ./ghcjs-boot;
        };
        shims = if builtins.pathExists ./shims/github.json then fetchFromGitHub (builtins.fromJSON (builtins.readFile ./shims/github.json)) else filterGit ./shims;
        ghcjs = if builtins.pathExists ./ghcjs/github.json then fetchFromGitHub (builtins.fromJSON (builtins.readFile ./ghcjs/github.json)) else filterGit ./ghcjs;
      };
      inherit (nixpkgs.stdenv.lib) optional optionals;
      optionalExtension = cond: overlay: if cond then overlay else _: _: {};
  
negative.code:     };
    };
  in let this = rec {
    inherit nixpkgs
            nixpkgsCross
            overrideCabal
            hackGet
            extendHaskellPackages
            foreignLibSmuggleHeaders
            stage2Script
            ghc
            ghcHEAD
            ghc8_2_1
            ghc8_0_1
            ghc7
            ghc7_8
            ghcIosSimulator64
            ghcIosArm64
            ghcIosArmv7
            ghcAndroidArm64
            ghcAndroidArmv7a
            ghcjs
            android
            ios
            androidWithHaskellPackages;
    androidReflexTodomvc = android.buildApp {
      package = p: p.reflex-todomvc;
      executableName = "reflex-todomvc";
  