Copyright | (c) 2010-2011 Patrick Bahr |
---|---|
License | BSD3 |
Maintainer | Patrick Bahr <paba@diku.dk> |
Stability | experimental |
Portability | non-portable (GHC Extensions) |
Safe Haskell | None |
Language | Haskell98 |
This module implements the decomposition of terms into function symbols and arguments resp. variables.
Documentation
This type represents decompositions of functorial values.
type DecompTerm f v = Decomp f v (Term f) Source
This type represents decompositions of terms.
class (HasVars f v, Functor f, Foldable f) => Decompose f v where Source
This class specifies the decomposability of a functorial value.
Nothing
structure :: Functor f => f a -> Const f Source
This function computes the structure of a functorial value.
arguments :: Foldable f => f a -> [a] Source
This function computes the arguments of a functorial value.
decompose :: Decompose f v => Term f -> DecompTerm f v Source
This function decomposes a term.