Cabal-3.14.0.0: A framework for packaging Haskell software
Safe HaskellNone
LanguageHaskell2010

Distribution.Compat.Time

Synopsis

Documentation

newtype ModTime Source #

An opaque type representing a file's modification time, represented internally as a 64-bit unsigned integer in the Windows UTC format.

Constructors

ModTime Word64 

Instances

Instances details
Structured ModTime Source # 
Instance details

Defined in Distribution.Compat.Time

Binary ModTime Source # 
Instance details

Defined in Distribution.Compat.Time

Methods

put :: ModTime -> Put #

get :: Get ModTime #

putList :: [ModTime] -> Put #

Bounded ModTime Source # 
Instance details

Defined in Distribution.Compat.Time

Generic ModTime Source # 
Instance details

Defined in Distribution.Compat.Time

Associated Types

type Rep ModTime 
Instance details

Defined in Distribution.Compat.Time

type Rep ModTime = D1 ('MetaData "ModTime" "Distribution.Compat.Time" "Cabal-3.14.0.0-inplace" 'True) (C1 ('MetaCons "ModTime" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

Methods

from :: ModTime -> Rep ModTime x #

to :: Rep ModTime x -> ModTime #

Read ModTime Source # 
Instance details

Defined in Distribution.Compat.Time

Show ModTime Source # 
Instance details

Defined in Distribution.Compat.Time

Eq ModTime Source # 
Instance details

Defined in Distribution.Compat.Time

Methods

(==) :: ModTime -> ModTime -> Bool #

(/=) :: ModTime -> ModTime -> Bool #

Ord ModTime Source # 
Instance details

Defined in Distribution.Compat.Time

type Rep ModTime Source # 
Instance details

Defined in Distribution.Compat.Time

type Rep ModTime = D1 ('MetaData "ModTime" "Distribution.Compat.Time" "Cabal-3.14.0.0-inplace" 'True) (C1 ('MetaCons "ModTime" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

getModTime :: FilePath -> IO ModTime Source #

Return modification time of the given file. Works around the low clock resolution problem that getModificationTime has on GHC < 7.8.

This is a modified version of the code originally written for Shake by Neil Mitchell. See module Development.Shake.FileInfo.

getFileAge :: FilePath -> IO Double Source #

Return age of given file in days.

getCurTime :: IO ModTime Source #

Return the current time as ModTime.

posixSecondsToModTime :: Int64 -> ModTime Source #

Convert POSIX seconds to ModTime.

calibrateMtimeChangeDelay :: IO (Int, Int) Source #

Based on code written by Neil Mitchell for Shake. See sleepFileTimeCalibrate in Type. Returns a pair of microsecond values: first, the maximum delay seen, and the recommended delay to use before testing for file modification change. The returned delay is never smaller than 10 ms, but never larger than 1 second.