Changeset 3948 for src/Pugs/Run
- Timestamp:
- 05/27/05 04:03:10 (3 years ago)
- svk:copy_cache_prev:
- 5515
- Files:
-
- 1 modified
-
src/Pugs/Run/Perl5.hs (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Run/Perl5.hs
r3945 r3948 18 18 19 19 foreign export ccall "pugs_Apply" 20 pugs_apply :: PugsVal -> PugsVal -> Ptr PugsVal -> IO P ugsVal20 pugs_apply :: PugsVal -> PugsVal -> Ptr PugsVal -> IO PerlSV 21 21 22 22 foreign export ccall "pugs_ValToSv" … … 60 60 mkVal val 61 61 62 pugs_apply :: PugsVal -> PugsVal -> Ptr PugsVal -> IO P ugsVal62 pugs_apply :: PugsVal -> PugsVal -> Ptr PugsVal -> IO PerlSV 63 63 pugs_apply subPtr invPtr argsPtr = do 64 64 -- print "DEREF #0" … … 66 66 -- print "DEREF #1" 67 67 sub <- deVal subPtr 68 -- print "DEREF #2"68 -- print ("DEREF #2", sub) 69 69 inv <- deValMaybe invPtr 70 70 -- print ("DEREF #3", inv) … … 75 75 _ -> Val sub 76 76 val <- runEvalIO env $ evalExp (App subExp (fmap Val inv) (map Val args)) 77 mkVal val 77 case val of 78 PerlSV sv -> return sv 79 VStr str -> vstrToSV str 80 VBool bool -> vintToSV (fromEnum bool) 81 VInt int -> vintToSV int 82 VRat rat -> vnumToSV rat 83 VNum num -> vnumToSV num 84 _ -> mkValRef val 78 85 79 86 deVal :: PugsVal -> IO Val
