This library defines I/O actions to read and write annotated FlatCurry programs.
annotatedFlatCurryFileName
:: 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 annotated FlatCurry program.
annotatedFlatCurryFilePath
:: String -> IO String
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)
where the file name is provided as the argument.
writeAnnotatedFlatCurry
:: Show a => AProg a -> IO ()
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 ()
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).