diff --git a/pkgs/development/libraries/haskell/nat/default.nix b/pkgs/development/libraries/haskell/nat/default.nix
new file mode 100644
index 000000000000..3ad4240e2892
--- /dev/null
+++ b/pkgs/development/libraries/haskell/nat/default.nix
@@ -0,0 +1,12 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "nat";
+  version = "0.3";
+  sha256 = "1v43c1dr72qn8mymnwcq6an8sqxjaxhac037k4gbv8z8bg18zmf5";
+  meta = {
+    description = "Lazy binary natural numbers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 9713f8f94dc6..74099e9493d9 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -1242,6 +1242,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   NanoProlog = callPackage ../development/libraries/haskell/NanoProlog {};
 
+  nat = callPackage ../development/libraries/haskell/nat {};
+
   nats = callPackage ../development/libraries/haskell/nats {};
 
   netlist = callPackage ../development/libraries/haskell/netlist {};