CurryInfo: flatcurry-annotated-3.3.0 / FlatCurry.Annotated.Files.readAnnotatedFlatCurryFile

definition:
readAnnotatedFlatCurryFile :: Read a => String -> IO (AProg a)
readAnnotatedFlatCurryFile filename = do
  filecontents <- readAnnotatedFlatCurryFileRaw filename
  return (read filecontents)
 where
  readAnnotatedFlatCurryFileRaw fname = do
    exafcy <- doesFileExist fname
    if exafcy
      then readFile fname
      else do
        let subdirfilename = inCurrySubdir fname
        exdirafcy <- doesFileExist subdirfilename
        if exdirafcy
          then readFile subdirfilename
          else error $ "EXISTENCE ERROR: Annotated FlatCurry file '" ++
                       fname ++ "' does not exist"
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
--- where the file name is provided as the argument.
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,_) |-> _}
name:
readAnnotatedFlatCurryFile
precedence:
no precedence defined
result-values:
_
signature:
Prelude.Read a => String -> Prelude.IO (FlatCurry.Annotated.Types.AProg a)
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term