Changeset 3921 for src/Pugs/Run/Perl5.hs
- Timestamp:
- 05/26/05 23:40:37 (4 years ago)
- svk:copy_cache_prev:
- 5482
- Files:
-
- 1 modified
-
src/Pugs/Run/Perl5.hs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Run/Perl5.hs
r3920 r3921 1 {-# OPTIONS_GHC -fglasgow-exts -cpp -fno-warn-unused- imports #-}1 {-# OPTIONS_GHC -fglasgow-exts -cpp -fno-warn-unused-binds -fno-warn-unused-imports #-} 2 2 3 3 module Pugs.Run.Perl5 () where … … 9 9 import Pugs.Embed.Perl5 10 10 import Foreign 11 import Foreign.C.Types 12 import Foreign.C.String 11 13 12 14 foreign export ccall "pugs_MkSvRef" 13 15 mkSvRef :: PerlSV -> IO PugsVal 14 16 17 foreign export ccall "pugs_IvToVal" 18 ivToVal :: CInt -> IO PugsVal 19 20 foreign export ccall "pugs_NvToVal" 21 nvToVal :: CDouble -> IO PugsVal 22 23 foreign export ccall "pugs_PvToVal" 24 pvToVal :: CString -> IO PugsVal 25 26 mkVal :: Val -> IO PugsVal 27 mkVal val = fmap castStablePtrToPtr $ newStablePtr val 28 15 29 mkSvRef :: PerlSV -> IO PugsVal 16 mkSvRef sv = fmap castStablePtrToPtr $ newStablePtr (PerlSV sv) 30 mkSvRef = mkVal . PerlSV 31 32 ivToVal :: CInt -> IO PugsVal 33 ivToVal = mkVal . VInt . fromIntegral 34 35 nvToVal :: CDouble -> IO PugsVal 36 nvToVal = mkVal . VNum . realToFrac 37 38 pvToVal :: CString -> IO PugsVal 39 pvToVal = (mkVal . VStr =<<) . peekCString 17 40 18 41 #endif
