Changeset 26 for src/Prim.hs

Show
Ignore:
Timestamp:
02/14/05 06:02:18 (4 years ago)
Author:
autrijus
svk:copy_cache_prev:
1041
Message:

* snapshot during monadic refactoring

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Prim.hs

    r25 r26  
    2727op0 s    = \x -> VError ("unimplemented listOp: " ++ s) (Val $ VList x) 
    2828 
    29 op1 :: Ident -> (forall a. Context a => a) -> StateEnv Val 
     29op1 :: Ident -> (forall a. Value a => a) -> Eval Val 
    3030op1 "!"    = return . fmapVal not 
    3131op1 "+"    = return . op1Numeric id 
     
    5050op1 s      = return . (\x -> VError ("unimplemented unaryOp: " ++ s) (Val x)) 
    5151 
    52 opEval :: String -> StateEnv Val 
     52opEval :: String -> Eval Val 
    5353opEval str = do 
    54     pad <- gets envPad 
    55     let rv = ( runParser ruleProgram pad "" str ) 
     54    env <- ask 
     55    let rv = ( runParser ruleProgram env "" str ) 
    5656    return $ VUndef 
    5757    {- 
    5858    case rv of 
    5959        Left err    -> return $ VError (showErr err) (NonTerm $ errorPos err) 
    60         Right exp   -> gets evl >>= (($) exp) 
     60        Right exp   -> asks evl >>= (($) exp) 
    6161-} 
    6262 
     
    200200                      , subFun      = (Prim f) 
    201201                      } 
    202     f :: [Val] -> StateEnv Val 
     202    f :: [Val] -> Eval Val 
    203203    f    = case arity of 
    204204        0 -> \(x:_) -> return $ op0 sym (vCast x)