Module ICurry.Files

This library defines I/O actions to read and write ICurry programs.

Author: Michael Hanus

Version: February 2020

Summary of exported operations:

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.
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.
writeICurryFile :: String -> IProg -> IO ()   
Writes an ICurry program into a file in ".icy" format.

Exported operations:

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").