Show
Ignore:
Timestamp:
05/26/05 05:57:27 (4 years ago)
Author:
autrijus
svk:copy_cache_prev:
5482
Message:

* Perl 6 values now roundtrip into Perl 5 land and back.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Embed/Perl5.hs

    r3894 r3901  
    2222svToVStr :: PerlSV -> IO String 
    2323svToVStr = constFail 
     24 
     25svToVBool :: PerlSV -> IO Bool 
     26svToVBool = constFail 
     27 
     28svToAny :: PerlSV -> IO a 
     29svToAny = constFail 
     30 
     31anyToSV :: a -> IO PerlSV 
     32anyToSV = constFail 
    2433 
    2534vstrToSV :: String -> IO PerlSV 
     
    6170foreign import ccall "perl5.h perl5_SvPV" 
    6271    perl5_SvPV :: PerlSV -> IO CString 
     72foreign import ccall "perl5.h perl5_SvTRUE" 
     73    perl5_SvTRUE :: PerlSV -> IO Bool 
     74foreign import ccall "perl5.h perl5_SvPtr" 
     75    perl5_SvPtr :: PerlSV -> IO (StablePtr a) 
    6376foreign import ccall "perl5.h perl5_newSVpv" 
    6477    perl5_newSVpv :: CString -> IO PerlSV 
    6578foreign import ccall "perl5.h perl5_newSViv" 
    6679    perl5_newSViv :: CInt -> IO PerlSV 
     80foreign import ccall "perl5.h perl5_newSVptr" 
     81    perl5_newSVptr :: StablePtr a -> IO PerlSV 
    6782foreign import ccall "perl5.h perl5_call" 
    6883    perl5_call :: CString -> CInt -> Ptr PerlSV -> CInt -> IO PerlSV 
     
    8297svToVStr :: PerlSV -> IO String 
    8398svToVStr sv = peekCString =<< perl5_SvPV sv 
     99 
     100svToVBool :: PerlSV -> IO Bool 
     101svToVBool = perl5_SvTRUE 
     102 
     103anyToSV :: a -> IO PerlSV 
     104anyToSV x = do 
     105    ptr <- newStablePtr x 
     106    perl5_newSVptr ptr 
     107 
     108svToAny :: PerlSV -> IO a 
     109svToAny sv = do 
     110    ptr <- perl5_SvPtr sv 
     111    deRefStablePtr ptr 
    84112 
    85113vstrToSV :: String -> IO PerlSV