compdata-0.8.1.0: Compositional Data Types

Copyright(c) 2010-2011 Patrick Bahr
LicenseBSD3
MaintainerPatrick Bahr <paba@diku.dk>
Stabilityexperimental
Portabilitynon-portable (GHC Extensions)
Safe HaskellNone
LanguageHaskell98

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 where Source

This class specifies the decomposability of a functorial value.

Minimal complete definition

Nothing

Methods

decomp :: f a -> Decomp f v a Source

This function decomposes a functorial value.

Instances

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

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.