Changeset 3846 for src/Pugs/Embed/Perl5.hs
- Timestamp:
- 05/25/05 03:10:08 (4 years ago)
- svk:copy_cache_prev:
- 5385
- Files:
-
- 1 modified
-
src/Pugs/Embed/Perl5.hs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Embed/Perl5.hs
r3844 r3846 20 20 #else 21 21 22 {-# INCLUDE <EXTERN.h> #-} 23 {-# INCLUDE <perl.h> #-} 22 {-# INCLUDE <perl5.h> #-} 24 23 25 24 module Pugs.Embed.Perl5 where … … 50 49 foreign import ccall "wrapper" 51 50 mkBootCallback :: (Ptr () -> IO ()) -> IO (FunPtr (Ptr () -> IO ())) 51 foreign import ccall "perl5.h perl5_init" 52 perl5_init :: CInt -> Ptr CString -> IO PerlInterpreter 52 53 53 54 initPerl5 :: String -> IO PerlInterpreter 54 55 initPerl5 str = do 55 my_perl <- perl_alloc56 perl_construct my_perl57 -- callback <- mkBootCallback boot_DynaLoader58 56 withCString "-e" $ \prog -> withCString str $ \cstr -> do 59 57 withArray [prog, prog, cstr] $ \argv -> do 60 perl_parse my_perl nullFunPtr 3 argv nullPtr 61 perl_run my_perl 62 return my_perl 58 perl5_init 3 argv 63 59 64 60 evalPerl5 :: String -> IO ()
