definition:
|
readCurryInterfaceFile :: String -> IO Interface
readCurryInterfaceFile filename = do
exacy <- doesFileExist filename
if exacy
then readExistingICURRY filename
else error $ "EXISTENCE ERROR: Curry interface file '" ++ filename ++
"' does not exist"
where
readExistingICURRY fname = do
icurrystring <- readFile fname
-- for testing:
--putStrLn icurrystring
return $ parseCurryInterface icurrystring
|
demand:
|
no demanded arguments
|
deterministic:
|
deterministic operation
|
documentation:
|
--- I/O action which reads a Curry interface from a file in `.icurry` format.
|
failfree:
|
<FAILING>
|
indeterministic:
|
referentially transparent operation
|
infix:
|
no fixity defined
|
iotype:
|
{(_) |-> _}
|
name:
|
readCurryInterfaceFile
|
precedence:
|
no precedence defined
|
result-values:
|
_
|
signature:
|
String -> Prelude.IO CurryInterface.Types.Interface
|
solution-complete:
|
operation might suspend on free variables
|
terminating:
|
possibly non-terminating
|
totally-defined:
|
possibly non-reducible on same data term
|