marked alternatives for compiling tables

This commit is contained in:
aarne
2007-10-02 21:01:38 +00:00
parent 8fc4f7b1fd
commit 156d0e321e

View File

@@ -281,7 +281,8 @@ computeTermOpt rec gr = comp where
T i@(TComp ty) cs -> do
-- if there are no variables, don't even go inside
cs' <- if (null g) then return cs else mapPairsM (comp g) cs
return $ {- V ty (map snd cs') --- -} T i cs'
---- return $ V ty (map snd cs')
return $ T i cs'
--- this means some extra work; should implement TSh directly
TSh i cs -> comp g $ T i [(p,v) | (ps,v) <- cs, p <- ps]
@@ -296,8 +297,8 @@ computeTermOpt rec gr = comp where
ts <- mapM (\ (c,g') -> comp (g' ++ g) c) sts
ps <- mapM term2patt vs
let ps' = ps --- PT ptyp (head ps) : tail ps
return $ ---- V ptyp ts -- to save space, just course of values
T (TComp ptyp) (zip ps' ts)
---- return $ V ptyp ts -- to save space, just course of values
return $ T (TComp ptyp) (zip ps' ts)
_ -> do
cs' <- mapM (compBranch g) cs
return $ T i cs' -- happens with variable types