This library defines I/O actions to read and write ICurry programs.
iCurryFileName
:: String -> String
Transforms a name of a Curry program (with or without suffix ".curry" or ".lcurry") into the name of the file containing the corresponding ICurry program.
iCurryFilePath
:: String -> IO String
Gets the standard ICurry file location for a given Curry module name The Curry source program must exist in the Curry load path, otherwise an error is raised.
readICurry
:: String -> IO IProg
Reads an ICurry program from a file in ".icy" format. The argument is the name of the corresponding Curry program.
readICurryFile
:: String -> IO IProg
Reads an ICurry program from a file in ".icy" format where the file name is provided as the argument.
writeICurry
:: IProg -> IO ()
Writes an ICurry program into a file in ".icy" format. The file is written in the standard location for intermediate files, i.e., in the iCurryFileName relative to the directory of the Curry source program (which must exist!).
writeICurryFile
:: String -> IProg -> IO ()
Writes an ICurry program into a file in ".icy" format. The first argument must be the name of the target file (with suffix ".icy").