<commit_before># an ad-hoc nix setup, pending proper nixification of the build

# roughly release-22.05
with import (builtins.fetchTarball https://github.com/NixOS/nixpkgs/archive/d3551b986a714071360b75feffa0ce117417f09c.tar.gz) { };
with haskell.lib;
mkShellNoCC rec {
  name = "env";
  buildInputs = [
    (haskell.packages.ghc8107.ghc.withPackages(p: with p; [
       aeson
       parsec
       tagged
       unbound-generics
       either
       yaml
       tasty
       tasty-expected-failure
       tasty-hunit
       tasty-quickcheck
       criterion
      ]))

    ((haskell.packages.ghcjs
      .override({ overrides = self: super: {
        # depends on doctest
        foldl = dontCheck super.foldl;
        # fails
        unbound-generics = dontCheck super.unbound-generics;
        unliftio = dontCheck super.unliftio;
        conduit = dontCheck super.conduit;
        # slow
        mono-traversable = dontCheck super.mono-traversable;
        libyaml = dontCheck super.libyaml;
        text-short = dontCheck super.text-short;


        ghcjs-base = super.ghcjs-base.overrideAttrs(d: {
          src = pkgs.fetchFromGitHub {
            owner = "ghcjs";
            repo = "ghcjs-base";
            rev = "fbaae59b05b020e91783df122249095e168df53f";
            sha256 = "sha256-x6eCAK1Hne0QkV3Loi9YpxbleNHU593E4AO8cbk2vUc=";
          };
        });

      };}))
      .ghc.withPackages(p: with p; [
       aeson
       parsec
       tagged
       unbound-generics
       either
       ghcjs-base
      ]))

    nodePackages.jshint
  ];
}
<commit_msg>Shell: Also install void<commit_after># an ad-hoc nix setup, pending proper nixification of the build

# roughly release-22.05
with import (builtins.fetchTarball https://github.com/NixOS/nixpkgs/archive/d3551b986a714071360b75feffa0ce117417f09c.tar.gz) { };
with haskell.lib;
mkShellNoCC rec {
  name = "env";
  buildInputs = [
    (haskell.packages.ghc8107.ghc.withPackages(p: with p; [
       aeson
       parsec
       tagged
       unbound-generics
       either
       yaml
       tasty
       tasty-expected-failure
       tasty-hunit
       tasty-quickcheck
       criterion
       void
      ]))

    ((haskell.packages.ghcjs
      .override({ overrides = self: super: {
        # depends on doctest
        foldl = dontCheck super.foldl;
        # fails
        unbound-generics = dontCheck super.unbound-generics;
        unliftio = dontCheck super.unliftio;
        conduit = dontCheck super.conduit;
        # slow
        mono-traversable = dontCheck super.mono-traversable;
        libyaml = dontCheck super.libyaml;
        text-short = dontCheck super.text-short;


        ghcjs-base = super.ghcjs-base.overrideAttrs(d: {
          src = pkgs.fetchFromGitHub {
            owner = "ghcjs";
            repo = "ghcjs-base";
            rev = "fbaae59b05b020e91783df122249095e168df53f";
            sha256 = "sha256-x6eCAK1Hne0QkV3Loi9YpxbleNHU593E4AO8cbk2vUc=";
          };
        });

      };}))
      .ghc.withPackages(p: with p; [
       aeson
       parsec
       tagged
       unbound-generics
       either
       ghcjs-base
       void
      ]))

    nodePackages.jshint
  ];
}

{'fraction_non_alphanumeric': 0.09303058971933144, 'fraction_numerical': 0.04919583727530748, 'mean_word_length': 2.020952380952381, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2160155', 'n_tokens_mistral': 1219, 'n_tokens_neox': 1100, 'n_words': 187}