Copyright | (c) 2010-2011 Patrick Bahr |
---|---|
License | BSD3 |
Maintainer | Patrick Bahr <[email protected]> |
Stability | experimental |
Portability | non-portable (GHC Extensions) |
Safe Haskell | None |
Language | Haskell2010 |
Data.Comp.Decompose
Description
This module implements the decomposition of terms into function symbols and arguments resp. variables.
Synopsis
- data Decomp (f :: Type -> Type) v a
- type DecompTerm (f :: Type -> Type) v = Decomp f v (Term f)
- type Decompose (f :: Type -> Type) v = (HasVars f v, Functor f, Foldable f)
- decomp :: Decompose f v => f a -> Decomp f v a
- structure :: Functor f => f a -> Const f
- arguments :: Foldable f => f a -> [a]
- decompose :: forall (f :: Type -> Type) v. Decompose f v => Term f -> DecompTerm f v
Documentation
data Decomp (f :: Type -> Type) v a Source #
This type represents decompositions of functorial values.
type DecompTerm (f :: Type -> Type) v = Decomp f v (Term f) Source #
This type represents decompositions of terms.
type Decompose (f :: Type -> Type) v = (HasVars f v, Functor f, Foldable f) Source #
This class specifies the decomposability of a functorial value.
structure :: Functor f => f a -> Const f Source #
This function computes the structure of a functorial value.