Module FlatCurry.Annotated.Files

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

Author: Michael Hanus

Version: December 2020

Summary of exported operations:

annotatedFlatCurryFileName :: 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 annotated FlatCurry program.
annotatedFlatCurryFilePath :: String -> IO String  Non-deterministic 
Gets the standard annotated FlatCurry file location for a given Curry module name.
readAnnotatedFlatCurryFile :: Read a => String -> IO (AProg a)  Non-deterministic 
where the file name is provided as the argument.
writeAnnotatedFlatCurry :: Show a => AProg a -> IO ()  Non-deterministic 
Writes an annotated FlatCurry program into a file in .afcy format.
writeAnnotatedFlatCurryFile :: Show a => String -> AProg a -> IO ()  Deterministic 
Writes an annotated FlatCurry program into a file in ".afcy" format.

Exported operations:

annotatedFlatCurryFileName :: 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 annotated FlatCurry program.

annotatedFlatCurryFilePath :: String -> IO String  Non-deterministic 

Gets the standard annotated FlatCurry file location for a given Curry module name. The Curry source program must exist in the Curry load path, otherwise an error is raised.

readAnnotatedFlatCurryFile :: Read a => String -> IO (AProg a)  Non-deterministic 

where the file name is provided as the argument.

writeAnnotatedFlatCurry :: Show a => AProg a -> IO ()  Non-deterministic 

Writes an annotated FlatCurry program into a file in .afcy format. The file is written in the standard location for intermediate files, i.e., in the annotatedFlatCurryFileName relative to the directory of the Curry source program (which must exist!).

writeAnnotatedFlatCurryFile :: Show a => String -> AProg a -> IO ()  Deterministic 

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