From af831e01a7baf6de9ac3a475368f7315c99797a7 Mon Sep 17 00:00:00 2001 From: krasimir Date: Mon, 21 Sep 2009 06:56:39 +0000 Subject: refactoring in GF.Grammar.Macros --- src/GF/Grammar/MMacros.hs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src/GF/Grammar/MMacros.hs') diff --git a/src/GF/Grammar/MMacros.hs b/src/GF/Grammar/MMacros.hs index a0852421d..a7f746b66 100644 --- a/src/GF/Grammar/MMacros.hs +++ b/src/GF/Grammar/MMacros.hs @@ -134,10 +134,10 @@ getMetaAtom a = case a of _ -> Bad "the active node is not meta" -} cat2val :: Context -> Cat -> Val -cat2val cont cat = vClos $ mkApp (qq cat) [Meta i | i <- [1..length cont]] +cat2val cont cat = vClos $ mkApp (uncurry Q cat) [Meta i | i <- [1..length cont]] val2cat :: Val -> Err Cat -val2cat v = val2exp v >>= valCat +val2cat v = liftM valCat (val2exp v) substTerm :: [Ident] -> Substitution -> Term -> Term substTerm ss g c = case c of @@ -183,7 +183,7 @@ val2expP safe v = case v of else substVal g e VClos g e -> substVal g e VApp f c -> liftM2 App (val2expP safe f) (val2expP safe c) - VCn c -> return $ qq c + VCn c -> return $ uncurry Q c VGen i x -> if safe then Bad (render (text "unsafe val2exp" <+> ppValue Unqualified 0 v)) else return $ Vr $ x --- in editing, no alpha conversions presentv @@ -214,9 +214,6 @@ freeVarsExp e = case e of Prod _ x a b -> freeVarsExp a ++ filter (/=x) (freeVarsExp b) _ -> [] --- thus applies to abstract syntax only -mkJustProd :: Context -> Term -> Term -mkJustProd cont typ = mkProd (cont,typ,[]) - int2var :: Int -> Ident int2var = identC . BS.pack . ('$':) . show -- cgit v1.2.3