diff --git a/horizon.dhall b/horizon.dhall index 4f92a20e1782bd660a162895a8872cf74d3ca25b..bb934324bd7cfe6aff8e10f110290411e72c357a 100644 --- a/horizon.dhall +++ b/horizon.dhall @@ -4,6 +4,7 @@ let H = let packages = { formatting = H.callHackage "formatting" "7.2.0" , polysemy = H.callHackage "polysemy" "1.9.1.0" + , recursion-schemes = H.callHackage "recursion-schemes" "5.2.2.4" , type-errors = H.callHackage "type-errors" "0.2.0.2" , unagi-chan = H.callHackage "unagi-chan" "0.4.1.4" } diff --git a/horizon.lock b/horizon.lock index b2e819c6bdc19cdc7a74b325d5a699cde63ace00..a857d54c8cfbc9c7e79cbd582f88508c6e67c9a0 100644 --- a/horizon.lock +++ b/horizon.lock @@ -6,6 +6,10 @@ , mapValue = "b134fcf0c950011e7c4bb8c074b99f70b11d26de8db9fa05db498008dae61cdb" } +, { mapKey = "recursion-schemes" + , mapValue = + "4fd1545bb00d723c31149fa5266684bf89be3e3765c0c6229b80d18ef8529ea4" + } , { mapKey = "type-errors" , mapValue = "9a6f7b5c1c3b6f5641d84da2df9661c507251df438da179a9926941422e31bc1" diff --git a/overlay.nix b/overlay.nix index dbd6fd45bf0a488ae2aafb344cbb25917770ec14..b1c08741d5a7d9e79e2822396a14a37d131a0287 100644 --- a/overlay.nix +++ b/overlay.nix @@ -5,6 +5,8 @@ final: prev: with pkgs.haskell.lib; { polysemy = final.callPackage (./pkgs/polysemy.nix) { }; + recursion-schemes = final.callPackage (./pkgs/recursion-schemes.nix) { }; + type-errors = final.callPackage (./pkgs/type-errors.nix) { }; unagi-chan = final.callPackage (./pkgs/unagi-chan.nix) { }; diff --git a/pkgs/recursion-schemes.nix b/pkgs/recursion-schemes.nix new file mode 100644 index 0000000000000000000000000000000000000000..f36d721295d2f6933bf18950560b0c0caf45e9ba --- /dev/null +++ b/pkgs/recursion-schemes.nix @@ -0,0 +1,30 @@ +{ mkDerivation, HUnit, base, base-orphans, comonad, containers +, data-fix, free, lib, template-haskell, th-abstraction +, transformers +}: +mkDerivation { + pname = "recursion-schemes"; + version = "5.2.2.4"; + sha256 = "0c151bc90a9a28bab2beced0e450103e102f754ddfebb8f924fc8a3b11c4db43"; + revision = "2"; + editedCabalFile = "1617jz77d4f2hf54jfz30zbf18rcgl6h0nzn3rcl0gjxjavf5aq6"; + isLibrary = true; + isExecutable = false; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ + base base-orphans comonad containers data-fix free template-haskell + th-abstraction transformers + ]; + testHaskellDepends = [ base HUnit template-haskell transformers ]; + enableLibraryProfiling = true; + enableExecutableProfiling = true; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + homepage = "http://github.com/ekmett/recursion-schemes/"; + description = "Representing common recursion patterns as higher-order functions"; + license = lib.licenses.bsd2; + broken = false; +} \ No newline at end of file