diff options
| author | aarne <aarne@cs.chalmers.se> | 2007-03-27 16:40:54 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2007-03-27 16:40:54 +0000 |
| commit | 7c30d211c3eda504668c0eab51e99d6e52db2127 (patch) | |
| tree | 90cd0aa1f5d079a58d080da0174b90a5bdb09b96 /devel/compiler/Eval.hs | |
| parent | 1c1acf1b971d13a496a92b9d8d6b14fde85e28f3 (diff) | |
distinct form for opers that have no value
Diffstat (limited to 'devel/compiler/Eval.hs')
| -rw-r--r-- | devel/compiler/Eval.hs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/devel/compiler/Eval.hs b/devel/compiler/Eval.hs index 8c5966bb8..cc1b22467 100644 --- a/devel/compiler/Eval.hs +++ b/devel/compiler/Eval.hs @@ -18,17 +18,15 @@ eval e = case e of let (f,xs) = apps e xs' <- mapM eval xs case f of - ECon c -> checks [ - do + ECon c -> do v <- lookEnv values c return $ appVal v xs' - , - do + EOpr c -> do e <- lookEnv opers c - v <- eval e + v <- eval e ---- not possible in general return $ appVal v xs' - ] ECon c -> lookEnv values c + EOpr c -> lookEnv opers c >>= eval ---- not possible in general EVar x -> lookEnv vars x ECst _ _ -> lookEnv parvals e EStr s -> return $ VTok s |
