CurryInfo: currypp-3.2.0 / CPP.Contracts.main

definition: Info
 
main :: IO ()
main = do
  putStrLn banner
  args <- getArgs
  processArgs defaultOptions args
 where
  processArgs opts args = case args of
     ("-e":margs) -> processArgs (opts { withEncapsulate   = True }) margs
     ("-t":margs) -> processArgs (opts { topLevelContracts = True }) margs
     ("-r":margs) -> processArgs (opts { executeProg       = True }) margs
     [mnamec]        -> let mname = stripCurrySuffix mnamec
                         in transformStandalone opts mname
                                      (transformedModName mname ++ ".curry")

     _ -> putStrLn $ unlines $
           ["ERROR: Illegal arguments for transformation: " ++ unwords args
           ,""
           ,"Usage: cwrapper [-e] [-t] [-r] <module_name>"
           ,"-e   : encapsulate nondeterminism of assertions"
           ,"-t   : assert contracts only to top-level (not recursive) calls"
           ,"-r   : load the transformed program into Curry system"
           ]
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
---------------------------------------------------------------------
Start the contract wrapper in "stand-alone mode":
indeterministic: Info
 might be indeterministic
infix: Info
 no fixity defined
iotype: Info
 {() |-> _}
name: Info
 main
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 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