Changeset 7478 for src/Pugs/Run
- Timestamp:
- 10/09/05 17:31:13 (3 years ago)
- Files:
-
- 1 modified
-
src/Pugs/Run/Perl5.hs (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Run/Perl5.hs
r4378 r7478 60 60 val <- runEvalIO env $ opEval quiet "<eval>" str 61 61 mkVal val 62 where quiet = MkEvalStyle{evalResult=EvalResultLastValue 63 ,evalError=EvalErrorUndef} 62 where 63 quiet = MkEvalStyle 64 { evalResult = EvalResultLastValue 65 , evalError = EvalErrorUndef 66 } 64 67 65 68 pugs_apply :: PugsVal -> PugsVal -> Ptr PugsVal -> CInt -> IO PerlSV 66 69 pugs_apply subPtr invPtr argsPtr cxt = do 67 -- print "DEREF #0"68 70 env <- askPerl5Env 69 -- print "DEREF #1"70 71 sub <- deVal subPtr 71 -- print ("DEREF #2", sub)72 72 inv <- deValMaybe invPtr 73 -- print ("DEREF #3", inv)74 73 args <- mapM deVal =<< peekArray0 nullPtr argsPtr 75 -- print ("DEREF #4", args)76 74 let subExp = case sub of 77 75 VStr name@('&':_) -> Var name … … 83 81 84 82 deVal :: PugsVal -> IO Val 85 deVal ptr = do 86 -- print ("DEVAL", ptr) 87 x <- deRefStablePtr (castPtrToStablePtr ptr) 88 -- print ("INTO", x) 89 return x 83 deVal ptr = deRefStablePtr (castPtrToStablePtr ptr) 90 84 91 85 deValMaybe :: PugsVal -> IO (Maybe Val) … … 95 89 valToSv :: PugsVal -> IO PerlSV 96 90 valToSv ptr = do 97 -- print "1"98 91 val <- deVal ptr 99 92 newSVval val … … 112 105 valToIv :: PugsVal -> IO CInt 113 106 valToIv ptr = do 114 -- print "2"115 107 val <- deVal ptr 116 108 env <- askPerl5Env … … 120 112 valToNv :: PugsVal -> IO CDouble 121 113 valToNv ptr = do 122 -- print "3"123 114 val <- deVal ptr 124 115 env <- askPerl5Env … … 128 119 valToPv :: PugsVal -> IO CString 129 120 valToPv ptr = do 130 -- print "4"131 121 val <- deVal ptr 132 122 env <- askPerl5Env … … 147 137 str <- peekCString cstr 148 138 ptr <- mkVal $ VStr str 149 -- print ("PVTOVAL", str, ptr)150 139 return ptr 151 140
