You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-lang/epic/files/epic-0.9.3-ghc-7.6.patch

54 lines
1.6 KiB

--- epic-0.9.3-orig/Epic/Language.lhs 2012-02-28 10:44:29.000000000 +1100
+++ epic-0.9.3/Epic/Language.lhs 2012-09-14 16:20:29.841939337 +1000
@@ -1,9 +1,14 @@
-> {-# LANGUAGE FlexibleInstances, MultiParamTypeClasses,
+> {-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, CPP,
> FunctionalDependencies #-}
> module Epic.Language where
> import Control.Monad
+#if MIN_VERSION_base(4,6,0)
+> import Control.Exception.Base
+#endif
+
+
> import System.IO
> import System.Directory
> import System.Environment
@@ -379,7 +384,13 @@
> environment :: String -> IO (Maybe String)
> environment x = catch (do e <- getEnv x
> return (Just e))
-> (\_ -> return Nothing)
+#if MIN_VERSION_base(4,6,0)
+> (\y-> do return (y::SomeException); return Nothing)
+#endif
+>
+#if !MIN_VERSION_base(4,6,0)
+> (\_-> return Nothing)
+#endif
Some tests
--- epic-0.9.3-orig/Epic/CodegenC.lhs 2012-02-28 10:44:29.000000000 +1100
+++ epic-0.9.3/Epic/CodegenC.lhs 2012-09-14 16:13:48.061329048 +1000
@@ -1,3 +1,4 @@
+> {-#LANGUAGE FlexibleContexts#-}
> module Epic.CodegenC where
> import Control.Monad.State
@@ -98,10 +99,11 @@
> if (x>max) then put x else return ()
> cgs [] = return ""
+
> cgs (x:xs) = do xc <- cg x
> xsc <- cgs xs
> return $ xc ++ "\n" ++ xsc
-
+> cg:: (MonadState Int m) => ByteOp -> m [Char]
> cg (CALL t fn args) = return $ tmp t ++ " = " ++ quickcall fn ++
> targs "(" args ++ ");"
> cg (TAILCALL t fn args)