CurryInfo: contract-prover-4.0.0 / ContractProver.getIncludePath

definition: Info
 
getIncludePath :: String -> IO String
getIncludePath incfile = do
  ppinclude <- fmap (</> "include" </> incfile) getPackagePath
  exppinclude <- doesFileExist ppinclude
  if exppinclude
    then return ppinclude
    else do
      let localinclude = "include" </> incfile
      exlocalinclude <- doesFileExist localinclude
      if exlocalinclude
        then return localinclude
        else do putStrLn $
                  "Warning: '" ++ localinclude ++ "' required but not found!"
                return incfile
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
Returns the path of a file provided as an argument in the `include`
directory of the package or, if this does not exists,
in the local `include` directory.
If both does not exist, a warning is issued.
failfree: Info
 <FAILING>
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_) |-> _}
name: Info
 getIncludePath
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 String -> Prelude.IO String
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term