haskellngPackages.brainfuck/unlambda: fix for GHC 7.10
This commit is contained in:
parent
2f886d3f16
commit
6e9a6e57cb
3 changed files with 51 additions and 0 deletions
19
pkgs/development/haskell-modules/brainfuck-fix-ghc710.patch
Normal file
19
pkgs/development/haskell-modules/brainfuck-fix-ghc710.patch
Normal file
|
@ -0,0 +1,19 @@
|
|||
diff -ru3 brainfuck-0.1-old/Language/Brainfuck.hs brainfuck-0.1/Language/Brainfuck.hs
|
||||
--- brainfuck-0.1-old/Language/Brainfuck.hs 2015-04-17 21:17:34.568721144 +0300
|
||||
+++ brainfuck-0.1/Language/Brainfuck.hs 2015-04-17 21:19:17.065872395 +0300
|
||||
@@ -19,6 +19,8 @@
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -}
|
||||
|
||||
+{-# LANGUAGE FlexibleContexts #-}
|
||||
+
|
||||
module Language.Brainfuck where
|
||||
|
||||
import Data.Array.IO
|
||||
@@ -287,4 +289,4 @@
|
||||
|
||||
halt = if debug
|
||||
then putStrLn "Machine Halted.\n"
|
||||
- else putStrLn "\n"
|
||||
\ No newline at end of file
|
||||
+ else putStrLn "\n"
|
|
@ -314,4 +314,8 @@ self: super: {
|
|||
# Fix evaluation in GHC >=7.8: https://github.com/lambdabot/lambdabot/issues/116
|
||||
lambdabot = appendPatch super.lambdabot ./lambdabot-fix-ghc78.patch;
|
||||
|
||||
# These packages don't have maintainers.
|
||||
brainfuck = appendPatch super.brainfuck ./brainfuck-fix-ghc710.patch;
|
||||
unlambda = appendPatch super.unlambda ./unlambda-fix-ghc710.patch;
|
||||
|
||||
}
|
||||
|
|
28
pkgs/development/haskell-modules/unlambda-fix-ghc710.patch
Normal file
28
pkgs/development/haskell-modules/unlambda-fix-ghc710.patch
Normal file
|
@ -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 ->
|
Loading…
Reference in a new issue