curry-frontend-1.0.4: Compile the functional logic language Curry to several intermediate formats
The Curry front end consists of the executable program "curry-frontend". It is used by various backends to compile Curry programs to an intermediate representation. The code is a stripped-down version of an early version of the Muenster Curry Compiler (http://danae.uni-muenster.de/curry/) which has been extended to produce different intermediate representations. For further information, please check http://curry-language.org
Signatures
Modules
- Base
- Base.AnnotExpr Extraction of free qualified annotated variables
- Base.CurryKinds Conversion of kind representation
- Base.CurryTypes Conversion of type representation
- Base.Expr Extraction of free and bound variables
- Base.KindSubst Kind substitution
- Base.Kinds Internal representation of kinds
- Base.Messages Construction and output of compiler messages
- Base.NestEnv Nested Environments
- Base.PrettyKinds TODO
- Base.PrettyTypes TODO
- Base.SCC Computation of strongly connected components
- Base.Subst General substitution implementation
- Base.TopEnv Top-Level Environments
- Base.TypeExpansion Type expansion
- Base.TypeSubst Type substitution
- Base.Types Internal representation of types
- Base.Typing Type computation of Curry expressions
- Base.Utils Auxiliary functions
- Checks Different checks on a Curry module
- Checks.DeriveCheck Checks deriving clauses
- Checks.ExportCheck Check the export specification of a module
- Checks.ExtensionCheck Checks extensions
- Checks.ImportSyntaxCheck Checking import specifications
- Checks.InstanceCheck Checks instances
- Checks.InterfaceCheck Checks consistency of interface files
- Checks.InterfaceSyntaxCheck Checks interface declarations
- Checks.KindCheck Checks type kinds
- Checks.PrecCheck Checks precedences of infix operators
- Checks.SyntaxCheck Syntax checks
- Checks.TypeCheck Type checking Curry programs
- Checks.TypeSyntaxCheck Checks type syntax
- Checks.WarnCheck Checks for irregular code
- CompilerEnv Environment containing the module's information
- CompilerOpts Compiler options
- CondCompile Conditional compilation
- CurryBuilder Build tool for compiling multiple Curry modules
- CurryDeps Computation of module dependencies
- Env
- Env.Class Environment of classes
- Env.Instance Environment of instances
- Env.Interface Environment of imported interfaces
- Env.ModuleAlias Environment of module aliases
- Env.OpPrec Environment of operator precedences
- Env.Type Environment of type identifiers
- Env.TypeConstructor Environment of type constructors
- Env.Value Environment for functions, constructors and labels
- Exports Computation of export interface
- Files
- Files.CymakePath File pathes
- Generators Code generators
- Generators.GenAbstractCurry Generation of AbstractCurry program terms
- Generators.GenFlatCurry Generation of FlatCurry program and interface terms
- Generators.GenTypeAnnotatedFlatCurry Generation of typed FlatCurry program terms
- Generators.GenTypedFlatCurry Generation of typed FlatCurry program terms
- Html
- Html.CurryHtml Generating HTML documentation
- Html.SyntaxColoring Split module into code fragments
- IL Intermediate language
- IL.Pretty Pretty printer for IL
- IL.ShowModule Custom Show implementation for IL
- IL.Type Definition of the intermediate language (IL)
- IL.Typing TODO
- Imports Importing interface declarations
- Interfaces Loading interfaces
- Modules Compilation of a single module
- TokenStream Generating List of Tokens and Spans
- Transformations Code transformations
- Transformations.CaseCompletion CaseCompletion
- Transformations.CurryToIL Translation of Curry into IL
- Transformations.Derive Deriving instances
- Transformations.Desugar Desugaring Curry Expressions
- Transformations.Dictionary Dictionary insertion
- Transformations.Lift Lifting of lambda-expressions and local functions
- Transformations.Newtypes Removing newtype constructors
- Transformations.Qual Proper Qualification
- Transformations.Simplify Optimizing the Desugared Code