compdata-0.5: Compositional Data Types

Portabilitynon-portable (GHC Extensions)
Stabilityexperimental
MaintainerPatrick Bahr <paba@diku.dk>

Data.Comp.Decompose

Description

This module implements the decomposition of terms into function symbols and arguments resp. variables.

Synopsis

Documentation

data Decomp f v a Source

This type represents decompositions of functorial values.

Constructors

Var v 
Fun (Const f) [a] 

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 whereSource

This class specifies the decomposability of a functorial value.

Methods

decomp :: f a -> Decomp f v aSource

This function decomposes a functorial value.

Instances

(HasVars f v, Functor f, Foldable f) => Decompose f v 

structure :: Functor f => f a -> Const fSource

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 vSource

This function decomposes a term.