Changeset 3863 for src/Pugs/Embed/Perl5.hs
- Timestamp:
- 05/25/05 05:35:18 (4 years ago)
- svk:copy_cache_prev:
- 5385
- Files:
-
- 1 modified
-
src/Pugs/Embed/Perl5.hs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Embed/Perl5.hs
r3859 r3863 10 10 type PerlSV = () 11 11 12 constFail :: a -> IO b 13 constFail = const $ fail "perl5 not embedded" 14 12 15 initPerl5 :: String -> IO PerlInterpreter 13 16 initPerl5 _ = return () 14 15 evalPerl5 :: String -> IO PerlSV16 evalPerl5 _ = fail "perl5 not embedded"17 17 18 18 freePerl5 :: PerlInterpreter -> IO () 19 19 freePerl5 _ = return () 20 20 21 evalPerl5 :: String -> IO PerlSV 22 evalPerl5 = constFail 23 21 24 svToVStr :: PerlSV -> IO String 22 svToVStr _ = fail "perl5 not embedded" 25 svToVStr = constFail 26 27 vstrToSV :: String -> IO PerlSV 28 vstrToSV = constFail 29 30 vintToSV :: Integer -> IO PerlSV 31 vintToSV = constFail 23 32 24 33 callPerl5 :: String -> [PerlSV] -> IO PerlSV 25 callPerl5 _ _ = fail "perl5 not embedded"34 callPerl5 _ = constFail 26 35 27 36 #else … … 53 62 foreign import ccall "perl5.h perl5_SvPV" 54 63 perl5_SvPV :: PerlSV -> IO CString 64 foreign import ccall "perl5.h perl5_newSVpv" 65 perl5_newSVpv :: CString -> IO PerlSV 66 foreign import ccall "perl5.h perl5_newSViv" 67 perl5_newSViv :: CInt -> IO PerlSV 55 68 foreign import ccall "perl5.h perl5_call" 56 69 perl5_call :: CString -> CInt -> Ptr PerlSV -> IO PerlSV … … 66 79 svToVStr :: PerlSV -> IO String 67 80 svToVStr sv = peekCString =<< perl5_SvPV sv 81 82 vstrToSV :: String -> IO PerlSV 83 vstrToSV str = withCString str perl5_newSVpv 84 85 vintToSV :: Integer -> IO PerlSV 86 vintToSV int = perl5_newSViv (fromIntegral int) 68 87 69 88 callPerl5 :: String -> [PerlSV] -> IO PerlSV
