From 3d838e0172c6524b403d25ace5b039e23ab5e479 Mon Sep 17 00:00:00 2001 From: krasimir Date: Thu, 12 Nov 2009 20:09:59 +0000 Subject: bugfix: GF.Compile.GrammarToGFCC should not strip the parameter values --- src/GF/Compile/GrammarToGFCC.hs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/GF/Compile/GrammarToGFCC.hs') diff --git a/src/GF/Compile/GrammarToGFCC.hs b/src/GF/Compile/GrammarToGFCC.hs index bf854e7ac..a022d4f43 100644 --- a/src/GF/Compile/GrammarToGFCC.hs +++ b/src/GF/Compile/GrammarToGFCC.hs @@ -309,12 +309,16 @@ canon2canon opts abs cg0 = -- flatten record arguments of param constructors p2p (f,j) = case j of - ResParam (Just ps) _ -> - ResParam (Just [(c,concatMap unRec cont) | (c,cont) <- ps]) Nothing + ResParam (Just ps) (Just vs) -> + ResParam (Just [(c,concatMap unRec cont) | (c,cont) <- ps]) (Just (map unrec vs)) _ -> j unRec (bt,x,ty) = case ty of RecType fs -> [ity | (_,typ) <- fs, ity <- unRec (Explicit,identW,typ)] _ -> [(bt,x,ty)] + unrec t = case t of + App f (R fs) -> GM.mkApp (unrec f) [unrec u | (_,(_,u)) <- fs] + _ -> GM.composSafeOp unrec t + ---- trs v = traceD (render (tr v)) v -- cgit v1.2.3