Module ICurry.Files

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

Author: Michael Hanus

Version: November 2020

Summary of exported operations:

iCurryFileName :: String -> String  Deterministic 
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  Deterministic 
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  Non-deterministic 
Reads an ICurry program from a file in ".icy" format.
readICurryFile :: String -> IO IProg  Non-deterministic 
Reads an ICurry program from a file in ".icy" format where the file name is provided as the argument.
writeICurry :: IProg -> IO ()  Non-deterministic 
Writes an ICurry program into a file in ".icy" format.
writeICurryFile :: String -> IProg -> IO ()  Non-deterministic 
Writes an ICurry program into a file in ".icy" format.

Exported operations:

iCurryFileName :: String -> String  Deterministic 

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  Deterministic 

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  Non-deterministic 

Reads an ICurry program from a file in ".icy" format. The argument is the name of the corresponding Curry program.

readICurryFile :: String -> IO IProg  Non-deterministic 

Reads an ICurry program from a file in ".icy" format where the file name is provided as the argument.

writeICurry :: IProg -> IO ()  Non-deterministic 

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 ()  Non-deterministic 

Writes an ICurry program into a file in ".icy" format. The first argument must be the name of the target file (with suffix ".icy").