From 1b7f21ba636e4034f76495deafd0ac6ca9758a4e Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Thu, 2 Jun 2016 23:29:36 +0200 Subject: rudimentary state --- default.nix | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) (limited to 'default.nix') diff --git a/default.nix b/default.nix index ac19354..c96e43f 100644 --- a/default.nix +++ b/default.nix @@ -3,6 +3,60 @@ }: rec { - haskellPackages = pkgs.haskell.packages."${compilerName}"; + haskellPackages = pkgs.haskell.packages."${compilerName}".override { + overrides = self: super: { + Shellac = pkgs.haskell.lib.appendPatch super.Shellac (pkgs.writeText "build.patch" '' + From 29c78ed6549525fefb04ae6f7cab8316ac59f3c4 Mon Sep 17 00:00:00 2001 + From: Gregor Kleen + Date: Thu, 2 Jun 2016 17:14:15 +0200 + Subject: [PATCH 1/2] Hiding <$> provided by newer versions of Prelude + + --- + src/System/Console/Shell/PPrint.hs | 1 + + 1 file changed, 1 insertion(+) + + diff --git a/src/System/Console/Shell/PPrint.hs b/src/System/Console/Shell/PPrint.hs + index e8ec520..8d271e1 100644 + --- a/src/System/Console/Shell/PPrint.hs + +++ b/src/System/Console/Shell/PPrint.hs + @@ -48,6 +48,7 @@ module System.Console.Shell.PPrint + ) where + + import System.IO (Handle,hPutStr,hPutChar,stdout) + +import Prelude hiding ((<$>)) + + infixr 5 ,,<$>,<$$> + infixr 6 <>,<+> + -- + 2.8.0 + + + From 74cb07ccfa92fdcdd6eb3c5871289796ea4981d5 Mon Sep 17 00:00:00 2001 + From: Gregor Kleen + Date: Thu, 2 Jun 2016 17:28:17 +0200 + Subject: [PATCH 2/2] Applicative instance for Sh + + --- + src/System/Console/Shell/Types.hs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + + diff --git a/src/System/Console/Shell/Types.hs b/src/System/Console/Shell/Types.hs + index 4ec47a9..9efe4b4 100644 + --- a/src/System/Console/Shell/Types.hs + +++ b/src/System/Console/Shell/Types.hs + @@ -74,7 +74,7 @@ type OutputCommand = BackendOutput -> IO () + -- The type parameter @st@ allows the monad to carry around a package of + -- user-defined state. + newtype Sh st a = Sh { unSh :: StateT (CommandResult st) (ReaderT OutputCommand IO) a } + - deriving (Monad, MonadIO, MonadFix, Functor) + + deriving (Monad, MonadIO, MonadFix, Functor, Applicative) + + ------------------------------------------------------------------------ + -- The shell description and utility functions + -- + 2.8.0 + ''); + }; + }; sequence = haskellPackages.callPackage ./sequence.nix {}; } -- cgit v1.2.3