Add DerivingVia newtype for generic arbitrary

Add a newtype, GenericArbitrary, which can be used with -XDerivingVia to
derive Arbitrary instances for types with Generic, via patching
generic-arbitrary to expose the underlying typeclass it uses for
surfacing the type information.
This commit is contained in:
Griffin Smith 2019-11-29 22:57:58 -05:00
parent 0abcd8c958
commit 7d8ce026a2
5 changed files with 47 additions and 4 deletions

View file

@ -1,8 +1,11 @@
{ nixpkgs ? import ./nixpkgs.nix {}, compiler ? "ghc865" }:
{ nixpkgs ? import ./nixpkgs.nix {}
, compiler ? "ghc865" }:
let
inherit (nixpkgs) pkgs;
all-hies = import (fetchTarball "https://github.com/infinisil/all-hies/tarball/master") {};
hie = all-hies.selection { selector = p: { inherit (p) ghc865; }; };
xanthous = pkgs.haskellPackages.callPackage (import ./pkg.nix { inherit nixpkgs; }) {};
xanthous = (pkgs.haskellPackages
.extend (import ./haskell-overlay.nix { inherit nixpkgs; }))
.callPackage (import ./pkg.nix { inherit nixpkgs; }) {};
in
xanthous // { inherit hie; }