packages feed

Cabal-3.0.0.0: doc/API/Cabal/Distribution-Compat-Time.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Compat.Time</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-3.0.0.0: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Compat.Time</p></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><span class="keyword">newtype</span> <a href="#t:ModTime">ModTime</a> = <a href="#v:ModTime">ModTime</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Word64" title="Distribution.Compat.Prelude.Internal">Word64</a></li><li class="src short"><a href="#v:getModTime">getModTime</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO" title="Distribution.Compat.Prelude.Internal">NoCallStackIO</a> <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a></li><li class="src short"><a href="#v:getFileAge">getFileAge</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO" title="Distribution.Compat.Prelude.Internal">NoCallStackIO</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Double" title="Distribution.Compat.Prelude.Internal">Double</a></li><li class="src short"><a href="#v:getCurTime">getCurTime</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO" title="Distribution.Compat.Prelude.Internal">NoCallStackIO</a> <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a></li><li class="src short"><a href="#v:posixSecondsToModTime">posixSecondsToModTime</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int64" title="Distribution.Compat.Prelude.Internal">Int64</a> -&gt; <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a></li><li class="src short"><a href="#v:calibrateMtimeChangeDelay">calibrateMtimeChangeDelay</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>)</li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:ModTime" class="def">ModTime</a> <a href="#t:ModTime" class="selflink">#</a></p><div class="doc"><p>An opaque type representing a file's modification time, represented
 internally as a 64-bit unsigned integer in the Windows UTC format.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ModTime" class="def">ModTime</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Word64" title="Distribution.Compat.Prelude.Internal">Word64</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><details id="i:ModTime" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ModTime:Bounded:1"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Bounded" title="Distribution.Compat.Prelude.Internal">Bounded</a> <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a></span> <a href="#t:ModTime" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ModTime:Bounded:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Compat-Time.html">Distribution.Compat.Time</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:minBound">minBound</a> :: <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> <a href="#v:minBound" class="selflink">#</a></p><p class="src"><a href="#v:maxBound">maxBound</a> :: <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> <a href="#v:maxBound" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ModTime:Eq:2"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a></span> <a href="#t:ModTime" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ModTime:Eq:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Compat-Time.html">Distribution.Compat.Time</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ModTime:Ord:3"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Ord" title="Distribution.Compat.Prelude.Internal">Ord</a> <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a></span> <a href="#t:ModTime" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ModTime:Ord:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Compat-Time.html">Distribution.Compat.Time</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Ordering" title="Distribution.Compat.Prelude.Internal">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(&lt;)</a> :: <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(&lt;=)</a> :: <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(&gt;)</a> :: <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(&gt;=)</a> :: <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> <a href="#v:min" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ModTime:Read:4"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Read" title="Distribution.Compat.Prelude.Internal">Read</a> <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a></span> <a href="#t:ModTime" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ModTime:Read:4"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Compat-Time.html">Distribution.Compat.Time</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ReadS" title="Distribution.Compat.Prelude.Internal">ReadS</a> <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:ReadS" title="Distribution.Compat.Prelude.Internal">ReadS</a> [<a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/base-4.12.0.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/base-4.12.0.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> [<a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ModTime:Show:5"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Show" title="Distribution.Compat.Prelude.Internal">Show</a> <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a></span> <a href="#t:ModTime" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ModTime:Show:5"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Compat-Time.html">Distribution.Compat.Time</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -&gt; <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a>] -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ModTime:Binary:6"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary" title="Distribution.Compat.Prelude.Internal">Binary</a> <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a></span> <a href="#t:ModTime" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ModTime:Binary:6"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Compat-Time.html">Distribution.Compat.Time</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> -&gt; <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/binary-0.8.6.0/Data-Binary-Put.html#t:Put" title="Data.Binary.Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/binary-0.8.6.0/Data-Binary-Get-Internal.html#t:Get" title="Data.Binary.Get.Internal">Get</a> <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a>] -&gt; <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/binary-0.8.6.0/Data-Binary-Put.html#t:Put" title="Data.Binary.Put">Put</a> <a href="#v:putList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:getModTime" class="def">getModTime</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO" title="Distribution.Compat.Prelude.Internal">NoCallStackIO</a> <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> <a href="#v:getModTime" class="selflink">#</a></p><div class="doc"><p>Return modification time of the given file. Works around the low clock
 resolution problem that <code><a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/directory-1.3.3.0/System-Directory.html#v:getModificationTime" title="System.Directory">getModificationTime</a></code> has on GHC &lt; 7.8.</p><p>This is a modified version of the code originally written for Shake by Neil
 Mitchell. See module Development.Shake.FileInfo.</p></div></div><div class="top"><p class="src"><a id="v:getFileAge" class="def">getFileAge</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:FilePath" title="Distribution.Compat.Prelude.Internal">FilePath</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO" title="Distribution.Compat.Prelude.Internal">NoCallStackIO</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Double" title="Distribution.Compat.Prelude.Internal">Double</a> <a href="#v:getFileAge" class="selflink">#</a></p><div class="doc"><p>Return age of given file in days.</p></div></div><div class="top"><p class="src"><a id="v:getCurTime" class="def">getCurTime</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:NoCallStackIO" title="Distribution.Compat.Prelude.Internal">NoCallStackIO</a> <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> <a href="#v:getCurTime" class="selflink">#</a></p><div class="doc"><p>Return the current time as <code><a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:posixSecondsToModTime" class="def">posixSecondsToModTime</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int64" title="Distribution.Compat.Prelude.Internal">Int64</a> -&gt; <a href="Distribution-Compat-Time.html#t:ModTime" title="Distribution.Compat.Time">ModTime</a> <a href="#v:posixSecondsToModTime" class="selflink">#</a></p><div class="doc"><p>Convert POSIX seconds to ModTime.</p></div></div><div class="top"><p class="src"><a id="v:calibrateMtimeChangeDelay" class="def">calibrateMtimeChangeDelay</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:IO" title="Distribution.Compat.Prelude.Internal">IO</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>, <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>) <a href="#v:calibrateMtimeChangeDelay" class="selflink">#</a></p><div class="doc"><p>Based on code written by Neil Mitchell for Shake. See
 <code>sleepFileTimeCalibrate</code> in <code><a href="Test.html#v:Type" title="Test">Type</a></code>.  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.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.22.0</p></div></body></html>