This module contains a simple compiler from FlatCurry to ICurry programs.
To do in future work:
icCompile
:: ICOptions -> String -> IO IProg
Generates an ICurry program by reading a FlatCurry program and compiling it to ICurry.
flatCurry2ICurry
:: ICOptions -> Prog -> IO IProg
Translates a FlatCurry program into an ICurry program. It also reads the imported modules in order to access their data and function declarations.
flatCurry2ICurryWithProgs
:: ICOptions -> [Prog] -> Prog -> IO IProg
Translates a FlatCurry program into an ICurry program where some FlatCurry interfaces are provided. It also reads the interfaces of imported modules, if not already provided, in order to access their data and function declarations.
flatCurry2ICurryWithProgsAndOptions
:: ICOptions -> [Prog] -> Prog -> IO (ICOptions, IProg)
Translates a FlatCurry program into an ICurry program where
some FlatCurry interfaces are provided.
It also reads the interfaces of imported modules, if not already
provided, in order to access their data and function declarations.
The ICOptions
after processing the program (containing the
constructor and function maps required for the translation)
are also returned.