Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > de32ea27bd707d1312968a7e865c03b7 > files > 70

ghc-fgl-devel-5.4.2.3-1.fc14.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Data.Graph.Inductive.Basic</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_Data-Graph-Inductive-Basic.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>fgl-5.4.2.3: Martin Erwig's Functional Graph Library</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>Data.Graph.Inductive.Basic</FONT
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Graph Operations
</A
></DT
><DT
><A HREF="#2"
>Filter Operations
</A
></DT
><DT
><A HREF="#3"
>Predicates and Classifications
</A
></DT
><DT
><A HREF="#4"
>Tree Operations
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
>Basic Graph Algorithms
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3Agrev"
>grev</A
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3ADynGraph"
>DynGraph</A
> gr =&gt; gr a b -&gt; gr a b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aundir"
>undir</A
> :: (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> b, <A HREF="Data-Graph-Inductive-Graph.html#t%3ADynGraph"
>DynGraph</A
> gr) =&gt; gr a b -&gt; gr a b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aunlab"
>unlab</A
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3ADynGraph"
>DynGraph</A
> gr =&gt; gr a b -&gt; gr <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Agsel"
>gsel</A
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3AGraph"
>Graph</A
> gr =&gt; (<A HREF="Data-Graph-Inductive-Graph.html#t%3AContext"
>Context</A
> a b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
>) -&gt; gr a b -&gt; [<A HREF="Data-Graph-Inductive-Graph.html#t%3AContext"
>Context</A
> a b]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Agfold"
>gfold</A
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3AGraph"
>Graph</A
> gr =&gt; (<A HREF="Data-Graph-Inductive-Graph.html#t%3AContext"
>Context</A
> a b -&gt; [<A HREF="Data-Graph-Inductive-Graph.html#t%3ANode"
>Node</A
>]) -&gt; (<A HREF="Data-Graph-Inductive-Graph.html#t%3AContext"
>Context</A
> a b -&gt; c -&gt; d) -&gt; (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> d -&gt; c -&gt; c, c) -&gt; [<A HREF="Data-Graph-Inductive-Graph.html#t%3ANode"
>Node</A
>] -&gt; gr a b -&gt; c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aefilter"
>efilter</A
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3ADynGraph"
>DynGraph</A
> gr =&gt; (<A HREF="Data-Graph-Inductive-Graph.html#t%3ALEdge"
>LEdge</A
> b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
>) -&gt; gr a b -&gt; gr a b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aelfilter"
>elfilter</A
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3ADynGraph"
>DynGraph</A
> gr =&gt; (b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
>) -&gt; gr a b -&gt; gr a b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhasLoop"
>hasLoop</A
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3AGraph"
>Graph</A
> gr =&gt; gr a b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisSimple"
>isSimple</A
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3AGraph"
>Graph</A
> gr =&gt; gr a b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Apostorder"
>postorder</A
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree"
>Tree</A
> a -&gt; [a]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApostorderF"
>postorderF</A
> ::  [<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree"
>Tree</A
> a] -&gt; [a]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Apreorder"
>preorder</A
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree"
>Tree</A
> a -&gt; [a]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApreorderF"
>preorderF</A
> ::  [<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree"
>Tree</A
> a] -&gt; [a]</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Graph Operations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:grev"
><A NAME="v%3Agrev"
></A
></A
><B
>grev</B
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3ADynGraph"
>DynGraph</A
> gr =&gt; gr a b -&gt; gr a b</TD
></TR
><TR
><TD CLASS="doc"
>Reverse the direction of all edges.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:undir"
><A NAME="v%3Aundir"
></A
></A
><B
>undir</B
> :: (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> b, <A HREF="Data-Graph-Inductive-Graph.html#t%3ADynGraph"
>DynGraph</A
> gr) =&gt; gr a b -&gt; gr a b</TD
></TR
><TR
><TD CLASS="doc"
>Make the graph undirected, i.e. for every edge from A to B, there
 exists an edge from B to A.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unlab"
><A NAME="v%3Aunlab"
></A
></A
><B
>unlab</B
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3ADynGraph"
>DynGraph</A
> gr =&gt; gr a b -&gt; gr <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>Remove all labels.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gsel"
><A NAME="v%3Agsel"
></A
></A
><B
>gsel</B
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3AGraph"
>Graph</A
> gr =&gt; (<A HREF="Data-Graph-Inductive-Graph.html#t%3AContext"
>Context</A
> a b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
>) -&gt; gr a b -&gt; [<A HREF="Data-Graph-Inductive-Graph.html#t%3AContext"
>Context</A
> a b]</TD
></TR
><TR
><TD CLASS="doc"
>Return all <TT
><A HREF="Data-Graph-Inductive-Graph.html#t%3AContext"
>Context</A
></TT
>s for which the given function returns <TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#v%3ATrue"
>True</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gfold"
><A NAME="v%3Agfold"
></A
></A
><B
>gfold</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="Data-Graph-Inductive-Graph.html#t%3AGraph"
>Graph</A
> gr</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>=&gt; <A HREF="Data-Graph-Inductive-Graph.html#t%3AContext"
>Context</A
> a b -&gt; [<A HREF="Data-Graph-Inductive-Graph.html#t%3ANode"
>Node</A
>]</TD
><TD CLASS="rdoc"
>direction of fold
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="Data-Graph-Inductive-Graph.html#t%3AContext"
>Context</A
> a b -&gt; c -&gt; d</TD
><TD CLASS="rdoc"
>depth aggregation
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> d -&gt; c -&gt; c, c)</TD
><TD CLASS="rdoc"
>breadth/level aggregation
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; [<A HREF="Data-Graph-Inductive-Graph.html#t%3ANode"
>Node</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>-&gt; gr a b</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>-&gt; c</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Directed graph fold.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>Filter Operations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:efilter"
><A NAME="v%3Aefilter"
></A
></A
><B
>efilter</B
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3ADynGraph"
>DynGraph</A
> gr =&gt; (<A HREF="Data-Graph-Inductive-Graph.html#t%3ALEdge"
>LEdge</A
> b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
>) -&gt; gr a b -&gt; gr a b</TD
></TR
><TR
><TD CLASS="doc"
>Filter based on edge property.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:elfilter"
><A NAME="v%3Aelfilter"
></A
></A
><B
>elfilter</B
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3ADynGraph"
>DynGraph</A
> gr =&gt; (b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
>) -&gt; gr a b -&gt; gr a b</TD
></TR
><TR
><TD CLASS="doc"
>Filter based on edge label property.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="3"
><A NAME="3"
>Predicates and Classifications
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hasLoop"
><A NAME="v%3AhasLoop"
></A
></A
><B
>hasLoop</B
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3AGraph"
>Graph</A
> gr =&gt; gr a b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#v%3ATrue"
>True</A
></TT
> if the graph has any edges of the form (A, A).
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isSimple"
><A NAME="v%3AisSimple"
></A
></A
><B
>isSimple</B
> :: <A HREF="Data-Graph-Inductive-Graph.html#t%3AGraph"
>Graph</A
> gr =&gt; gr a b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>The inverse of <TT
><A HREF="Data-Graph-Inductive-Basic.html#v%3AhasLoop"
>hasLoop</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="4"
><A NAME="4"
>Tree Operations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:postorder"
><A NAME="v%3Apostorder"
></A
></A
><B
>postorder</B
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree"
>Tree</A
> a -&gt; [a]</TD
></TR
><TR
><TD CLASS="doc"
>Flatten a <TT
><A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree"
>Tree</A
></TT
>, returning the elements in post-order.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:postorderF"
><A NAME="v%3ApostorderF"
></A
></A
><B
>postorderF</B
> ::  [<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree"
>Tree</A
> a] -&gt; [a]</TD
></TR
><TR
><TD CLASS="doc"
>Flatten multiple <TT
><A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree"
>Tree</A
></TT
>s in post-order.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:preorder"
><A NAME="v%3Apreorder"
></A
></A
><B
>preorder</B
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree"
>Tree</A
> a -&gt; [a]</TD
></TR
><TR
><TD CLASS="doc"
>Flatten a <TT
><A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree"
>Tree</A
></TT
>, returning the elements in pre-order.  Equivalent to
<TT
><A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#v%3Aflatten"
>flatten</A
></TT
> in Data.Tree.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:preorderF"
><A NAME="v%3ApreorderF"
></A
></A
><B
>preorderF</B
> ::  [<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree"
>Tree</A
> a] -&gt; [a]</TD
></TR
><TR
><TD CLASS="doc"
>Flatten multiple <TT
><A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree"
>Tree</A
></TT
>s in pre-order.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.6.1</TD
></TR
></TABLE
></BODY
></HTML
>