curry-frontend-0.4.2: Lexer, parser, type checker, etc. for the Curry language

Copyright(c) 2005 Martin Engelke 2007 Sebastian Fischer 2011 - 2016 Björn Peemöller
LicenseBSD-3-clause
Maintainerbjp@informatik.uni-kiel.de
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

CompilerOpts

Description

This module defines data structures holding options for the compilation of Curry programs, and utility functions for printing help information as well as parsing the command line arguments.

Synopsis

Documentation

data Options Source #

Compiler options

Constructors

Options 

Fields

Instances

data PrepOpts Source #

Preprocessor options

Constructors

PrepOpts 

Fields

data WarnOpts Source #

Warning options

Constructors

WarnOpts 

Fields

data DebugOpts Source #

Debug options

Constructors

DebugOpts 

Fields

data CymakeMode Source #

Modus operandi of the program

Constructors

ModeHelp

Show help information and exit

ModeVersion

Show version and exit

ModeNumericVersion

Show numeric version, suitable for later processing

ModeMake

Compile with dependencies

data TargetType Source #

Type of the target file

Constructors

Tokens

Source code tokens

Parsed

Parsed source code

FlatCurry

FlatCurry

ExtendedFlatCurry

Extended FlatCurry

AbstractCurry

AbstractCurry

UntypedAbstractCurry

Untyped AbstractCurry

Html

HTML documentation

data WarnFlag Source #

Warnings flags

Constructors

WarnMultipleImports

Warn for multiple imports

WarnDisjoinedRules

Warn for disjoined function rules

WarnUnusedGlobalBindings

Warn for unused global bindings

WarnUnusedBindings

Warn for unused local bindings

WarnNameShadowing

Warn for name shadowing

WarnOverlapping

Warn for overlapping rules/alternatives

WarnIncompletePatterns

Warn for incomplete pattern matching

WarnMissingSignatures

Warn for missing type signatures

data KnownExtension :: * #

Known language extensions of Curry.

Constructors

AnonFreeVars

anonymous free variables

FunctionalPatterns

functional patterns

NegativeLiterals

negative literals

NoImplicitPrelude

no implicit import of the prelude

Instances

Bounded KnownExtension 
Enum KnownExtension 
Eq KnownExtension 
Data KnownExtension 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> KnownExtension -> c KnownExtension #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c KnownExtension #

toConstr :: KnownExtension -> Constr #

dataTypeOf :: KnownExtension -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c KnownExtension) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c KnownExtension) #

gmapT :: (forall b. Data b => b -> b) -> KnownExtension -> KnownExtension #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> KnownExtension -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> KnownExtension -> r #

gmapQ :: (forall d. Data d => d -> u) -> KnownExtension -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> KnownExtension -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> KnownExtension -> m KnownExtension #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> KnownExtension -> m KnownExtension #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> KnownExtension -> m KnownExtension #

Read KnownExtension 
Show KnownExtension 

data DumpLevel Source #

Dump level

Constructors

DumpParsed

dump source code after parsing

DumpKindChecked

dump source code after kind checking

DumpSyntaxChecked

dump source code after syntax checking

DumpPrecChecked

dump source code after precedence checking

DumpTypeChecked

dump source code after type checking

DumpExportChecked

dump source code after export checking

DumpQualified

dump source after qualification

DumpDesugared

dump source after desugaring

DumpSimplified

dump source after simplification

DumpLifted

dump source after lambda-lifting

DumpTranslated

dump IL code after translation

DumpCaseCompleted

dump IL code after case completion

DumpFlatCurry

dump FlatCurry code (pretty-printed)

dumpLevel :: [(DumpLevel, String, String)] Source #

Description and flag of dump levels

defaultOptions :: Options Source #

Default compiler options

defaultPrepOpts :: PrepOpts Source #

Default preprocessor options

defaultWarnOpts :: WarnOpts Source #

Default warning options

defaultDebugOpts :: DebugOpts Source #

Default dump options

getCompilerOpts :: IO (String, Options, [String], [String]) Source #

Retrieve the compiler Options

updateOpts :: Options -> [String] -> (Options, [String], [String]) Source #

Update the Options record by the parsed and processed arguments

usage :: String -> String Source #

Print the usage information of the command line tool.