CurryInfo: verify-non-fail-2.0.0 / Verify.Files.readNonFailCondFile

definition: Info
 
readNonFailCondFile :: Options -> ClockTime -> String
                    -> IO (Maybe [(QName,NonFailCond)])
readNonFailCondFile opts mtimesrc mname = do
  fname <- getNonFailCondFile opts mname
  existsf <- doesFileExist fname
  if existsf && not (optRerun opts)
    then do
      mtimectf <- getModificationTime fname
      if compareClockTime mtimectf mtimesrc == GT
        then do
          printWhenStatus opts $
            "Reading previously inferred non-fail conditions from '" ++
            fname ++ "'..."
          cts <- readTermFile opts fname
          return $ Just $ map (\ (fn,ct) -> ((mname,fn), ct)) cts
        else return Nothing
    else return Nothing
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
Reads the possibly previously inferred non-fail conditions for a
given module if it is up-to-date (where the modification time
of the module is passed as the second argument).
failfree: Info
 <FAILING>
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,_,_) |-> _}
name: Info
 readNonFailCondFile
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 Verify.Options.Options -> Data.Time.ClockTime -> String
-> Prelude.IO (Prelude.Maybe [((String, String), ([(Prelude.Int, FlatCurry.Types.TypeExpr)], FlatCurry.Types.Expr))])
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term