This library supports meta-programming, i.e., the manipulation of Curry programs in Curry. This library defines I/O actions to read Curry programs and transform them into this representation.
Author: Michael Hanus, Finn Teegen
Version: July 2020
| readFlatCurry
                  ::  String -> IO ProgI/O action which parses a Curry program and returns the corresponding FlatCurry program. | 
| readFlatCurryWithParseOptions
                  ::  String -> FrontendParams -> IO ProgI/O action which parses a Curry program with respect to some parser options and returns the corresponding FlatCurry program. | 
| flatCurryFileName
                  ::  String -> StringTransforms a name of a Curry program (with or without suffix ".curry" or ".lcurry") into the name of the file containing the corresponding FlatCurry program. | 
| flatCurryIntName
                  ::  String -> StringTransforms a name of a Curry program (with or without suffix ".curry" or ".lcurry") into the name of the file containing the corresponding FlatCurry program. | 
| readFlatCurryFile
                  ::  String -> IO ProgI/O action which reads a FlatCurry program from a file in ".fcy" format. | 
| readFlatCurryInt
                  ::  String -> IO ProgI/O action which returns the interface of a Curry module, i.e., a FlatCurry program containing only "Public" entities and function definitions without rules (i.e., external functions). | 
| readFlatCurryIntWithParseOptions
                  ::  String -> FrontendParams -> IO ProgI/O action which parses Curry program with respect to some parser options and returns the FlatCurry interface of this program, i.e., a FlatCurry program containing only "Public" entities and function definitions without rules (i.e., external functions). | 
| writeFlatCurry
                  ::  Prog -> IO ()Writes a FlatCurry program into a file in .fcyformat. | 
| writeFlatCurryFile
                  ::  String -> Prog -> IO ()Writes a FlatCurry program into a file in ".fcy" format. | 
| writeFCY
                  ::  String -> Prog -> IO ()Writes a FlatCurry program into a file in ".fcy" format. | 
| lookupFlatCurryFileInLoadPath
                  ::  String -> IO (Maybe String)Returns the name of the FlatCurry file of a module in the load path, if this file exists. | 
| getFlatCurryFileInLoadPath
                  ::  String -> IO StringReturns the name of the FlatCurry file of a module in the load path, if this file exists. | 
| 
                       I/O action which parses a Curry program and returns the corresponding FlatCurry program. Thus, the argument is the module path (without suffix ".curry" or ".lcurry") and the result is a FlatCurry term representing this program. | 
| 
                       
                      I/O action which parses a Curry program
with respect to some parser options and returns the
corresponding FlatCurry program.
This I/O action is used by the standard action  
 
 | 
| 
                       Transforms a name of a Curry program (with or without suffix ".curry" or ".lcurry") into the name of the file containing the corresponding FlatCurry program. | 
| 
                       Transforms a name of a Curry program (with or without suffix ".curry" or ".lcurry") into the name of the file containing the corresponding FlatCurry program. | 
| 
                       
                      I/O action which reads a FlatCurry program from a file in ".fcy" format.
In contrast to  | 
| 
                       I/O action which returns the interface of a Curry module, i.e., a FlatCurry program containing only "Public" entities and function definitions without rules (i.e., external functions). The argument is the file name without suffix ".curry" (or ".lcurry") and the result is a FlatCurry term representing the interface of this module. | 
| 
                       I/O action which parses Curry program with respect to some parser options and returns the FlatCurry interface of this program, i.e., a FlatCurry program containing only "Public" entities and function definitions without rules (i.e., external functions). The argument is the file name without suffix ".curry" (or ".lcurry") and the result is a FlatCurry term representing the interface of this module. | 
| 
                       
                      Writes a FlatCurry program into a file in  | 
| 
                       Writes a FlatCurry program into a file in ".fcy" format. The first argument must be the name of the target file (usually with suffix ".fcy"). | 
| 
                       Writes a FlatCurry program into a file in ".fcy" format. The first argument must be the name of the target file (usually with suffix ".fcy"). | 
| 
                       Returns the name of the FlatCurry file of a module in the load path, if this file exists. | 
| 
                       Returns the name of the FlatCurry file of a module in the load path, if this file exists. |