Changeset 14214 for src/Pugs/Run
- Timestamp:
- 10/11/06 05:36:36 (2 years ago)
- Files:
-
- 1 modified
-
src/Pugs/Run/Perl5.hs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Run/Perl5.hs
r13710 r14214 49 49 50 50 askPerl5Env :: IO Env 51 askPerl5Env = do 52 val <- deVal =<< pugs_getenv 53 case val of 54 VControl (ControlEnv env) -> return env 55 _ -> do 56 print val 57 fail "cannot fetch $pugs::env" 51 askPerl5Env = deEnv =<< pugs_getenv 58 52 59 53 pugs_eval :: CString -> IO PugsVal … … 74 68 sub <- deVal subPtr 75 69 inv <- deValMaybe invPtr 76 args <- mapM deVal =<< peekArray0 null PtrargsPtr70 args <- mapM deVal =<< peekArray0 nullVal argsPtr 77 71 let subExp = case sub of 78 72 VStr name@('&':_) -> _Var name … … 85 79 86 80 deVal :: PugsVal -> IO Val 87 deVal ptr = deRefStablePtr (castPtrToStablePtr ptr) 81 deVal ptr = deRefStablePtr ptr 82 83 deEnv :: PugsEnv -> IO Env 84 deEnv ptr = deRefStablePtr ptr 85 86 nullVal :: PugsVal 87 nullVal = unsafeCoerce# nullPtr 88 88 89 89 deValMaybe :: PugsVal -> IO (Maybe Val) 90 deValMaybe ptr | ptr == nullPtr= return Nothing90 deValMaybe ptr | nullVal == nullVal = return Nothing 91 91 deValMaybe ptr = fmap Just (deVal ptr) 92 92
