CurryInfo: currypp-3.2.0 / CPP.Contracts.translateContracts

definition: Info
 
translateContracts :: Int -> [String] -> String -> String -> CurryProg
                   -> IO (Maybe CurryProg)
translateContracts verb moreopts modname srcprog inputProg = do
  when (verb>1) $ putStr banner
  opts <- processOpts defaultOptions moreopts
  transformCProg verb opts modname srcprog inputProg (progName inputProg)
 where
  processOpts opts ppopts = case ppopts of
    []          -> return opts
    ("-e":more) -> processOpts (opts { withEncapsulate   = True }) more
    ("-t":more) -> processOpts (opts { topLevelContracts = True }) more
    _           -> showError
   where
    showError = do
      putStrLn $ "Unknown options (ignored): " ++ show (unwords ppopts)
      return opts
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
---------------------------------------------------------------------
Execute the contract wrapper in "preprocessor mode".
The Curry program must be read with `readCurry` (and not
`readUntypedCurry`) in order to correctly process arities
based on function types!
The result is `Nothing` if no transformation was applied or `Just` the
transformed program.
indeterministic: Info
 might be indeterministic
infix: Info
 no fixity defined
iotype: Info
 {(_,_,_,_,_) |-> _}
name: Info
 translateContracts
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 Prelude.Int -> [String] -> String -> String -> AbstractCurry.Types.CurryProg
-> Prelude.IO (Prelude.Maybe AbstractCurry.Types.CurryProg)
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term