CurryInfo: verify-non-fail-2.0.0 / Verify.Helpers.getModuleModTime

definition:
 
getModuleModTime :: String -> IO ClockTime
getModuleModTime mname =
  lookupModuleSourceInLoadPath mname >>=
  maybe (error $ "Source file of module '" ++ mname ++ "' not found!")
        (\(dir,fn) -> do
          mtime <- getModificationTime fn
          let fcyfile = dir </> flatCurryFileName mname
          exfcy <- doesFileExist fcyfile
          if exfcy then do fcytime <- getModificationTime fcyfile
                           return (if mtime < fcytime then fcytime else mtime)
                   else return mtime)
demand:
 no demanded arguments
deterministic:
 deterministic operation
documentation:
 
---------------------------------------------------------------------------
Returns the modification time of a module or the modification time
of the corresponding FlatCurry file it it exists and is newer.
failfree:
 <FAILING>
indeterministic:
 referentially transparent operation
infix:
 no fixity defined
iotype:
 {(_) |-> _}
name:
 getModuleModTime
precedence:
 no precedence defined
result-values:
 _
signature:
 String -> Prelude.IO Data.Time.ClockTime
solution-complete:
 operation might suspend on free variables
terminating:
 possibly non-terminating
totally-defined:
 possibly non-reducible on same data term