Cabal-1.8.0.4: A framework for packaging Haskell software

Portabilityportable
Maintainerlibraries@haskell.org

Language.Haskell.Extension

Description

Haskell language extensions

Synopsis

Documentation

data Extension Source

This represents language extensions beyond Haskell 98 that are supported by some implementations, usually in some special mode.

Constructors

OverlappingInstances 
UndecidableInstances 
IncoherentInstances 
RecursiveDo 
ParallelListComp 
MultiParamTypeClasses 
NoMonomorphismRestriction 
FunctionalDependencies 
Rank2Types 
RankNTypes 
PolymorphicComponents 
ExistentialQuantification 
ScopedTypeVariables 
PatternSignatures

Deprecated, use ScopedTypeVariables instead.

ImplicitParams 
FlexibleContexts 
FlexibleInstances 
EmptyDataDecls 
CPP 
KindSignatures 
BangPatterns 
TypeSynonymInstances 
TemplateHaskell 
ForeignFunctionInterface 
Arrows 
Generics 
NoImplicitPrelude 
NamedFieldPuns 
PatternGuards 
GeneralizedNewtypeDeriving 
ExtensibleRecords 
RestrictedTypeSynonyms 
HereDocuments 
MagicHash 
TypeFamilies 
StandaloneDeriving 
UnicodeSyntax 
UnliftedFFITypes 
LiberalTypeSynonyms 
TypeOperators 
RecordWildCards 
RecordPuns 
DisambiguateRecordFields 
OverloadedStrings 
GADTs 
NoMonoPatBinds 
RelaxedPolyRec 
ExtendedDefaultRules 
UnboxedTuples 
DeriveDataTypeable 
ConstrainedClassMethods 
PackageImports

Allow imports to be qualified by the package name that the module is intended to be imported from, e.g.

 import "network" Network.Socket
ImpredicativeTypes 
NewQualifiedOperators 
PostfixOperators 
QuasiQuotes 
TransformListComp 
ViewPatterns 
XmlSyntax

Allow concrete XML syntax to be used in expressions and patterns, as per the Haskell Server Pages extension language: http://www.haskell.org/haskellwiki/HSP. The ideas behind it are discussed in the paper Haskell Server Pages through Dynamic Loading by Niklas Broberg, from Haskell Workshop '05.

RegularPatterns

Allow regular pattern matching over lists, as discussed in the paper Regular Expression Patterns by Niklas Broberg, Andreas Farre and Josef Svenningsson, from ICFP '04.

UnknownExtension String 

deprecatedExtensions :: [(Extension, Maybe Extension)]Source

Extensions that have been deprecated, possibly paired with another extension that replaces it.