Module FlatCurry.Read

This library defines operations to read FlatCurry programs or interfaces together with all its imported modules in the current load path.

Author: Michael Hanus, Bjoern Peemoeller, Finn Teegen

Version: December 2018

Summary of exported operations:

readFlatCurryInPath :: [String] -> String -> IO Prog   
Reads a FlatCurry program together in a given load path.
readFlatCurryWithImports :: String -> IO [Prog]   
Reads a FlatCurry program together with all its imported modules.
readFlatCurryWithImportsInPath :: [String] -> String -> IO [Prog]   
Reads a FlatCurry program together with all its imported modules in a given load path.
readFlatCurryIntWithImports :: String -> IO [Prog]   
Reads a FlatCurry interface together with all its imported module interfaces.
readFlatCurryIntWithImportsInPath :: [String] -> String -> IO [Prog]   
Reads a FlatCurry interface together with all its imported module interfaces in a given load path.

Exported operations:

readFlatCurryInPath :: [String] -> String -> IO Prog   

Reads a FlatCurry program together in a given load path. The arguments are a load path and the name of the module.

readFlatCurryWithImports :: String -> IO [Prog]   

Reads a FlatCurry program together with all its imported modules. The argument is the name of the main module, possibly with a directory prefix.

readFlatCurryWithImportsInPath :: [String] -> String -> IO [Prog]   

Reads a FlatCurry program together with all its imported modules in a given load path. The arguments are a load path and the name of the main module.

readFlatCurryIntWithImports :: String -> IO [Prog]   

Reads a FlatCurry interface together with all its imported module interfaces. The argument is the name of the main module, possibly with a directory prefix. If there is no interface file but a FlatCurry file (suffix ".fcy"), the FlatCurry file is read instead of the interface.

readFlatCurryIntWithImportsInPath :: [String] -> String -> IO [Prog]   

Reads a FlatCurry interface together with all its imported module interfaces in a given load path. The arguments are a load path and the name of the main module. If there is no interface file but a FlatCurry file (suffix ".fcy"), the FlatCurry file is read instead of the interface.