CurryInfo: verify-non-fail-2.0.0 / Verify.WithSMT.readIncludeFile

definition:
 
readIncludeFile :: String -> IO String
readIncludeFile incfile = do
  ppinclude <- fmap (</> "include" </> incfile) getPackagePath
  exppinclude <- doesFileExist ppinclude
  if exppinclude
    then readFile ppinclude
    else do
      let localinclude = "include" </> incfile
      exlocalinclude <- doesFileExist localinclude
      if exlocalinclude
        then readFile localinclude
        else do printInfoLine $
                  "Warning: " ++ localinclude ++ " not found!\n" ++
                  "SMT script might be incomplete!"
                return ""
demand:
 no demanded arguments
deterministic:
 deterministic operation
documentation:
 
Try to read a file in the `include` directory of the package
 or, if this does not exists, in a local `include` directory.
failfree:
 <FAILING>
indeterministic:
 referentially transparent operation
infix:
 no fixity defined
iotype:
 {(_) |-> _}
name:
 readIncludeFile
precedence:
 no precedence defined
result-values:
 _
signature:
 String -> Prelude.IO String
solution-complete:
 operation might suspend on free variables
terminating:
 possibly non-terminating
totally-defined:
 possibly non-reducible on same data term