Copyright | (c) 2014 Aleksey Kliger |
---|---|
License | BSD3 (See LICENSE) |
Maintainer | Aleksey Kliger |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Extensions |
|
The pattern
contains a term Embed
tt
.
Documentation
Embed
allows for terms to be embedded within patterns. Such
embedded terms do not bind names along with the rest of the
pattern. For examples, see the tutorial or examples directories.
If t
is a term type, then Embed t
is a pattern type.
Embed
is not abstract since it involves no binding, and hence
it is safe to manipulate directly. To create and destruct
Embed
terms, you may use the Embed
constructor directly.
(You may also use the functions embed
and unembed
, which
additionally can construct or destruct any number of enclosing
Shift
s at the same time.)
Embed t |
Subst c a => Subst c (Embed a) Source # | |
Eq t => Eq (Embed t) Source # | |
Ord t => Ord (Embed t) Source # | |
Show a => Show (Embed a) Source # | |
Generic (Embed t) Source # | |
NFData t => NFData (Embed t) Source # | |
Alpha t => Alpha (Embed t) Source # | |
IsEmbed (Embed t) Source # | |
type Rep (Embed t) Source # | |
type Embedded (Embed t) Source # | |