summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/unlambda-fix-ghc710.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/haskell-modules/unlambda-fix-ghc710.patch')
-rw-r--r--pkgs/development/haskell-modules/unlambda-fix-ghc710.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/pkgs/development/haskell-modules/unlambda-fix-ghc710.patch b/pkgs/development/haskell-modules/unlambda-fix-ghc710.patch
new file mode 100644
index 00000000000..51c453557aa
--- /dev/null
+++ b/pkgs/development/haskell-modules/unlambda-fix-ghc710.patch
@@ -0,0 +1,28 @@
+diff -ru3 unlambda-0.1.3-old/Language/Unlambda.hs unlambda-0.1.3/Language/Unlambda.hs
+--- unlambda-0.1.3-old/Language/Unlambda.hs	2015-04-17 21:16:32.415751612 +0300
++++ unlambda-0.1.3/Language/Unlambda.hs	2015-04-17 21:25:38.210123501 +0300
+@@ -29,6 +29,7 @@
+ import Prelude hiding(catch)
+ #endif
+ import Control.Exception (catch, IOException)
++import Control.Monad (liftM, ap)
+ 
+ ------------------------------------------------------------------------
+ -- Abstract syntax
+@@ -85,6 +86,16 @@
+ 
+ type Cont a = (Maybe Char, Int) -> a -> IO Exp
+ 
++instance Functor Eval where
++
++  fmap = liftM
++
++instance Applicative Eval where
++
++  pure = return
++
++  (<*>) = ap
++
+ instance Monad Eval where
+ 
+   (Eval cp1) >>= f = Eval $ \dat1 cont2 ->