Changeset 26 for src/Prim.hs
- Timestamp:
- 02/14/05 06:02:18 (4 years ago)
- svk:copy_cache_prev:
- 1041
- Files:
-
- 1 modified
-
src/Prim.hs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Prim.hs
r25 r26 27 27 op0 s = \x -> VError ("unimplemented listOp: " ++ s) (Val $ VList x) 28 28 29 op1 :: Ident -> (forall a. Context a => a) -> StateEnvVal29 op1 :: Ident -> (forall a. Value a => a) -> Eval Val 30 30 op1 "!" = return . fmapVal not 31 31 op1 "+" = return . op1Numeric id … … 50 50 op1 s = return . (\x -> VError ("unimplemented unaryOp: " ++ s) (Val x)) 51 51 52 opEval :: String -> StateEnvVal52 opEval :: String -> Eval Val 53 53 opEval str = do 54 pad <- gets envPad55 let rv = ( runParser ruleProgram pad"" str )54 env <- ask 55 let rv = ( runParser ruleProgram env "" str ) 56 56 return $ VUndef 57 57 {- 58 58 case rv of 59 59 Left err -> return $ VError (showErr err) (NonTerm $ errorPos err) 60 Right exp -> gets evl >>= (($) exp)60 Right exp -> asks evl >>= (($) exp) 61 61 -} 62 62 … … 200 200 , subFun = (Prim f) 201 201 } 202 f :: [Val] -> StateEnvVal202 f :: [Val] -> Eval Val 203 203 f = case arity of 204 204 0 -> \(x:_) -> return $ op0 sym (vCast x)
