| Copyright | (c) 2015 Aleksey Kliger |
|---|---|
| License | BSD3 (See LICENSE) |
| Maintainer | Aleksey Kliger |
| Stability | experimental |
| Safe Haskell | None |
| Language | Haskell2010 |
| Extensions |
|
Unbound.Generics.LocallyNameless.Shift
Description
The pattern shifts the scope of the embedded term in Shift ee one level outwards.
Documentation
The type Shift e is an embedding pattern that shifts the scope of the
free variables of the embedded term up by one level.Embedded e
Constructors
| Shift e |
Instances
| Functor Shift # | |
| Subst c e => Subst c (Shift e) # | |
| Show e => Show (Shift e) # | |
| NFData e => NFData (Shift e) # | |
Defined in Unbound.Generics.LocallyNameless.Shift | |
| Alpha e => Alpha (Shift e) # | |
Defined in Unbound.Generics.LocallyNameless.Shift Methods aeq' :: AlphaCtx -> Shift e -> Shift e -> Bool # fvAny' :: (Contravariant f, Applicative f) => AlphaCtx -> (AnyName -> f AnyName) -> Shift e -> f (Shift e) # close :: AlphaCtx -> NamePatFind -> Shift e -> Shift e # open :: AlphaCtx -> NthPatFind -> Shift e -> Shift e # isPat :: Shift e -> DisjointSet AnyName # nthPatFind :: Shift e -> NthPatFind # namePatFind :: Shift e -> NamePatFind # swaps' :: AlphaCtx -> Perm AnyName -> Shift e -> Shift e # lfreshen' :: LFresh m => AlphaCtx -> Shift e -> (Shift e -> Perm AnyName -> m b) -> m b # freshen' :: Fresh m => AlphaCtx -> Shift e -> m (Shift e, Perm AnyName) # | |
| IsEmbed e => IsEmbed (Shift e) # | |
| type Embedded (Shift e) # | |
Defined in Unbound.Generics.LocallyNameless.Shift | |