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
|