git.iko.soy/haskell-generate
on master help sign in
Fix build on new haskell-src-exts (1.7) version

Closes #3.

commita70326e6a23cada0bfa5c9b1b738a96a56e8f54c authorBenno Fünfstück <benno.fuenfstueck@gmail.com> dateSat 2 Jan 2016, 20:41 (11 years ago) parent3bd820f
1 file changed+9−3
src/Language/Haskell/Generate/Monad.hs+9−3
src/Language/Haskell/Generate/Monad.hs+9−3
@@ -64,9 +64,11 @@ generateExp = prettyPrint . runExpression . fst . runGenerate
6464caseE :: ExpG x -> [(Pat, ExpG t)] -> ExpG t
6565caseE v alt = do
6666 v' <- v
67−#if MIN_VERSION_haskell_src_exts(1,16,0)
67+#if MIN_VERSION_haskell_src_exts(1,17,0)
68+ alt' <- mapM (\(p,a) -> fmap (\a' -> Alt noLoc p (UnGuardedRhs $ runExpression a') Nothing) a) alt
69+#elif MIN_VERSION_haskell_src_exts(1,16,0)
6870 alt' <- mapM (\(p,a) -> fmap (\a' -> Alt noLoc p (UnGuardedRhs $ runExpression a') (BDecls [])) a) alt
69−#else
71+#else
7072 alt' <- mapM (\(p,a) -> fmap (\a' -> Alt noLoc p (UnGuardedAlt $ runExpression a') (BDecls [])) a) alt
7173#endif
7274 return $ Expression $ Case (runExpression v') alt'
@@ -212,7 +214,7 @@ instance GenExp (FunRef t) where
212214
213215-- | Generate a ExportSpec for a given function item.
214216exportFun :: FunRef t -> ExportSpec
215−#if MIN_VERSION_haskell_src_exts(1,16,0)
217+#if MIN_VERSION_haskell_src_exts(1,16,0) && !MIN_VERSION_haskell_src_exts(1,17,0)
216218exportFun (FunRef name) = EVar NoNamespace (UnQual name)
217219#else
218220exportFun (FunRef name) = EVar (UnQual name)
@@ -222,7 +224,11 @@ exportFun (FunRef name) = EVar (UnQual name)
222224addDecl :: Name -> ExpG t -> ModuleM (FunRef t)
223225addDecl name e = ModuleM $ do
224226 let (body, mods) = runGenerate e
227+#if MIN_VERSION_haskell_src_exts(1,17,0)
228+ tell (mods, [FunBind [Match noLoc name [] Nothing (UnGuardedRhs $ runExpression body) Nothing]])
229+#else
225230 tell (mods, [FunBind [Match noLoc name [] Nothing (UnGuardedRhs $ runExpression body) $ BDecls []]])
231+#endif
226232 return $ FunRef name
227233
228234-- | Extract the Module from a module generator.