CurryInfo: curry-interface-2.0.1 / CurryInterface.Files.readCurryInterfaceFile

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