full support for recursive def rules in the C runtime

This commit is contained in:
kr.angelov
2014-09-05 10:09:43 +00:00
parent fe8daf7f94
commit 5e5ad8f2db
11 changed files with 513 additions and 366 deletions

View File

@@ -146,8 +146,8 @@ mkContext scope hyps = mapAccumL (\scope (bt,x,ty) -> let ty' = mkType scope ty
else (x:scope,(bt,i2i x,ty'))) scope hyps
mkDef gr arity (Just eqs) = Just ([C.Equ ps' (mkExp scope' e) | L _ (ps,e) <- eqs, let (scope',ps') = mapAccumL mkPatt [] ps]
,generateByteCode gr arity eqs
)
,generateByteCode gr arity eqs
)
mkDef gr arity Nothing = Nothing
mkArrity (Just a) ty = a