TemplateHaskell
Last edit November 14, 2013
Template Haskell is an extension to
HaskellLanguage
that allows you to do type-safe compile-time meta-programming, with Haskell both as the manipulating language and the language being manipulated.
From
http://www.haskell.org/th/
BrokenLink
16 February 2010. Available through
WaybackMachine
at
http://web.archive.org/web/20080504113632/www.haskell.org/th/
. --
MarnenLaibowKoser
See also
http://www.haskell.org/haskellwiki/Template_Haskell
It is included in the
GlasgowHaskellCompiler
.
Template Haskell is a dangerous tool; it can generate unexpected side-effects even at complication time. It can also be used to break the encapsulation offered by module boundaries, to gain access to protected type constructors and thus to break the module's invariants, causing previously safe code to fail. For these reasons, Template Haskell is disabled in
SafeHaskell
.
See also
HygienicMacros
DataAndCodeAreTheSameThing
CategoryProgrammingLanguage
FunctionalProgrammingLanguage
CategoryHaskell