diff options
Diffstat (limited to 'devel/compiler/Eval.hs')
| -rw-r--r-- | devel/compiler/Eval.hs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/devel/compiler/Eval.hs b/devel/compiler/Eval.hs index cc1b22467..b59fb53f2 100644 --- a/devel/compiler/Eval.hs +++ b/devel/compiler/Eval.hs @@ -4,10 +4,11 @@ import AbsSrc import AbsTgt import SMacros import TMacros +import Match +import Env -import ComposOp import STM -import Env + eval :: Exp -> STM Env Val eval e = case e of @@ -38,11 +39,13 @@ eval e = case e of vs <- mapM eval [e | FExp _ e <- fs] return $ VRec vs - ETab cs -> do - vs <- mapM eval [e | Cas _ e <- cs] ---- expand and pattern match + ETab ty cs -> do +-- sz <- lookEnv parsizes ty +-- let ps = map (VPar . toInteger) [0..sz-1] + ps <- lookEnv partypes ty + vs <- mapM (\p -> match cs p >>= eval) ps return $ VRec vs - ESel t v -> do t' <- eval t v' <- eval v |
