Changeset 8705 for src/Pugs/Eval.hs
- Timestamp:
- 01/16/06 18:57:28 (3 years ago)
- Files:
-
- 1 modified
-
src/Pugs/Eval.hs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Eval.hs
r8699 r8705 64 64 { envContext = CxtVoid 65 65 , envLexical = mkPad [] 66 , envImplicit= Map.empty 66 67 , envLValue = False 67 68 , envGlobal = glob … … 309 310 310 311 reducePad :: Scope -> Pad -> Exp -> Eval Val 312 reducePad SEnv lex@(MkPad lex') exp = do 313 local (\e -> e{ envImplicit = Map.map (const ()) lex' `Map.union` envImplicit e }) $ 314 reducePad SMy lex exp 311 315 reducePad SMy lex exp = do 312 316 -- heuristics: if we are repeating ourselves, generate a new TVar. … … 987 991 } 988 992 fixEnv :: Env -> Env 989 fixEnv env 990 | typ >= SubBlock = env 991 | otherwise = env 992 { envCaller = Just env 993 , envDepth = envDepth env + 1 } 993 fixEnv | typ >= SubBlock = id 994 | otherwise = envEnterCaller 994 995 doBind :: [PadMutator] -> [(Param, Exp)] -> Eval ([PadMutator], [ApplyArg]) 995 996 doBind syms [] = return (syms, [])
