CurryInfo: showflatcurry-3.0.0 / ShowFlatCurry.main

definition:
main :: IO ()
main = do
  args <- getArgs
  case args of
    [st,prog]        -> showProg st prog
    [st,prog,target] -> saveProg st prog target
    _                -> printUsage args
 where
  showProg st prog 
    | st `elem` ["-i", "-int", "--interface"]
    = runModuleAction printInterface prog
    | st `elem` ["-m", "-mod", "--module"]
    = runModuleAction printCurryMod prog
    | otherwise
    = printUsage [st, prog]

  saveProg st prog target
    | st `elem` ["-i", "-int", "--interface"]
    = runModuleAction (writeInterface target) prog
    | st `elem` ["-m", "-mod", "--module"]
    = runModuleAction (writeCurryMod target) prog
    | otherwise
    = printUsage [st, prog, target]
demand:
no demanded arguments
deterministic:
deterministic operation
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{() |-> _}
name:
main
precedence:
no precedence defined
result-values:
_
signature:
Prelude.IO ()
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term