CurryInfo: contract-prover-4.0.0 / ContractProver.proveContracts

definition: Info
 
proveContracts :: Options -> String -> IO ()
proveContracts opts mainmodname = do
  prog <- readTypedFlatCurryWithSpec opts mainmodname
  let errs = checkContractUsage (progName prog)
               (map (\fd -> (snd (funcName fd), funcType fd)) (progFuncs prog))
  if null errs
    then proveContractsInProg opts prog
    else do putStr $ unlines (map showOpError errs)
            exitWith 1
 where
  showOpError (qf,err) =
    snd qf ++ " (module " ++ fst qf ++ "): " ++ err
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
Optimize a module by proving its contracts and remove verified
postconditions or add unverified preconditions.
failfree: Info
 <FAILING>
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,_) |-> _}
name: Info
 proveContracts
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 ToolOptions.Options -> String -> Prelude.IO ()
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term