Changeset 14599 for src/Pugs/Prim/FileTest.hs
- Timestamp:
- 11/03/06 05:30:51 (2 years ago)
- svk:copy_cache_prev:
- 41990
- Files:
-
- 1 modified
-
src/Pugs/Prim/FileTest.hs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Prim/FileTest.hs
r10466 r14599 3 3 exists, isFile, isDirectory, 4 4 fileSize, sizeIsZero, 5 fileMTime, fileCTime, fileATime, 5 6 ) where 6 7 import Pugs.Internals … … 34 35 sizeIsZero :: Val -> Eval Val 35 36 sizeIsZero = fileTestIO fileTestSizeIsZero 37 fileMTime :: Val -> Eval Val 38 fileMTime = fileTime statFileMTime 39 fileCTime :: Val -> Eval Val 40 fileCTime = fileTime statFileCTime 41 fileATime :: Val -> Eval Val 42 fileATime = fileTime statFileATime 43 44 fileTime :: (FilePath -> IO Integer) -> Val -> Eval Val 45 fileTime test f = do 46 t <- fileTestIO (fileTestDo test) f 47 if (t == undef) then return VUndef else do 48 t' <- fromVal t 49 b <- (readVar $ cast "$*BASETIME") >>= fromVal 50 return $ VRat $ (b - (pugsTimeSpec $ TOD t' 0)) / 86400 36 51 37 52 fileTestIO :: (Value n) => (n -> IO Val) -> Val -> Eval Val … … 74 89 n <- statFileSize f 75 90 return $ if n == 0 then VBool True else VBool False 91 92 fileTestDo :: (FilePath -> IO Integer) -> FilePath -> IO Val 93 fileTestDo test f = test f >>= return . VInt
