Show
Ignore:
Timestamp:
05/26/05 23:54:07 (4 years ago)
Author:
autrijus
svk:copy_cache_prev:
5515
Message:

* iv/nv/pv two-way casting all done.

Files:
1 modified

Legend:

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

    r3920 r3924  
    3535svToVal = constFail 
    3636 
    37 valToSV :: a -> IO PerlSV 
    38 valToSV = constFail 
     37mkValRef :: a -> IO PerlSV 
     38mkValRef = constFail 
    3939 
    4040vstrToSV :: String -> IO PerlSV 
    4141vstrToSV = constFail 
    4242 
    43 vintToSV :: Integer -> IO PerlSV 
     43vintToSV :: (Integral a) => a -> IO PerlSV 
    4444vintToSV = constFail 
     45 
     46vnumToSV :: (Real a) => a -> IO PerlSV 
     47vnumToSV = constFail 
    4548 
    4649callPerl5 :: String -> [PerlSV] -> CInt -> IO PerlSV 
     
    9194foreign import ccall "perl5.h perl5_newSViv" 
    9295    perl5_newSViv :: CInt -> IO PerlSV 
     96foreign import ccall "perl5.h perl5_newSVnv" 
     97    perl5_newSVnv :: CDouble -> IO PerlSV 
    9398foreign import ccall "perl5.h perl5_call" 
    9499    perl5_call :: CString -> CInt -> Ptr PerlSV -> CInt -> IO PerlSV 
     
    128133    deRefStablePtr (castPtrToStablePtr ptr) 
    129134 
    130 valToSV :: a -> IO PerlSV 
    131 valToSV x = do 
     135mkValRef :: a -> IO PerlSV 
     136mkValRef x = do 
    132137    ptr <- fmap castStablePtrToPtr $ newStablePtr x 
    133138    pugs_MkValRef ptr 
     
    136141vstrToSV str = withCString str perl5_newSVpv  
    137142 
    138 vintToSV :: Integer -> IO PerlSV 
     143vintToSV :: (Integral a) => a -> IO PerlSV 
    139144vintToSV int = perl5_newSViv (fromIntegral int) 
     145 
     146vnumToSV :: (Real a) => a -> IO PerlSV 
     147vnumToSV int = perl5_newSVnv (realToFrac int) 
    140148 
    141149callPerl5 :: String -> [PerlSV] -> CInt -> IO PerlSV