packages feed

Cabal-3.0.0.0: doc/API/Cabal/Distribution-Backpack-ComponentsGraph.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.Backpack.ComponentsGraph</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-3.0.0.0: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Backpack.ComponentsGraph</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>See <a href="https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst">https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst</a></p></div></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><span class="keyword">type</span> <a href="#t:ComponentsGraph">ComponentsGraph</a> = <a href="Distribution-Compat-Graph.html#t:Graph" title="Distribution.Compat.Graph">Graph</a> (<a href="Distribution-Compat-Graph.html#t:Node" title="Distribution.Compat.Graph">Node</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName" title="Distribution.Types.ComponentName">ComponentName</a> <a href="Distribution-Types-Component.html#t:Component" title="Distribution.Types.Component">Component</a>)</li><li class="src short"><span class="keyword">type</span> <a href="#t:ComponentsWithDeps">ComponentsWithDeps</a> = [(<a href="Distribution-Types-Component.html#t:Component" title="Distribution.Types.Component">Component</a>, [<a href="Distribution-Types-ComponentName.html#t:ComponentName" title="Distribution.Types.ComponentName">ComponentName</a>])]</li><li class="src short"><a href="#v:mkComponentsGraph">mkComponentsGraph</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec" title="Distribution.Types.ComponentRequestedSpec">ComponentRequestedSpec</a> -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Either" title="Distribution.Compat.Prelude.Internal">Either</a> [<a href="Distribution-Types-ComponentName.html#t:ComponentName" title="Distribution.Types.ComponentName">ComponentName</a>] <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsGraph" title="Distribution.Backpack.ComponentsGraph">ComponentsGraph</a></li><li class="src short"><a href="#v:componentsGraphToList">componentsGraphToList</a> :: <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsGraph" title="Distribution.Backpack.ComponentsGraph">ComponentsGraph</a> -&gt; <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsWithDeps" title="Distribution.Backpack.ComponentsGraph">ComponentsWithDeps</a></li><li class="src short"><a href="#v:dispComponentsWithDeps">dispComponentsWithDeps</a> :: <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsWithDeps" title="Distribution.Backpack.ComponentsGraph">ComponentsWithDeps</a> -&gt; <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a></li><li class="src short"><a href="#v:componentCycleMsg">componentCycleMsg</a> :: [<a href="Distribution-Types-ComponentName.html#t:ComponentName" title="Distribution.Types.ComponentName">ComponentName</a>] -&gt; <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a></li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ComponentsGraph" class="def">ComponentsGraph</a> = <a href="Distribution-Compat-Graph.html#t:Graph" title="Distribution.Compat.Graph">Graph</a> (<a href="Distribution-Compat-Graph.html#t:Node" title="Distribution.Compat.Graph">Node</a> <a href="Distribution-Types-ComponentName.html#t:ComponentName" title="Distribution.Types.ComponentName">ComponentName</a> <a href="Distribution-Types-Component.html#t:Component" title="Distribution.Types.Component">Component</a>) <a href="#t:ComponentsGraph" class="selflink">#</a></p><div class="doc"><p>A graph of source-level components by their source-level
 dependencies</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ComponentsWithDeps" class="def">ComponentsWithDeps</a> = [(<a href="Distribution-Types-Component.html#t:Component" title="Distribution.Types.Component">Component</a>, [<a href="Distribution-Types-ComponentName.html#t:ComponentName" title="Distribution.Types.ComponentName">ComponentName</a>])] <a href="#t:ComponentsWithDeps" class="selflink">#</a></p><div class="doc"><p>A list of components associated with the source level
 dependencies between them.</p></div></div><div class="top"><p class="src"><a id="v:mkComponentsGraph" class="def">mkComponentsGraph</a> :: <a href="Distribution-Types-ComponentRequestedSpec.html#t:ComponentRequestedSpec" title="Distribution.Types.ComponentRequestedSpec">ComponentRequestedSpec</a> -&gt; <a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Either" title="Distribution.Compat.Prelude.Internal">Either</a> [<a href="Distribution-Types-ComponentName.html#t:ComponentName" title="Distribution.Types.ComponentName">ComponentName</a>] <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsGraph" title="Distribution.Backpack.ComponentsGraph">ComponentsGraph</a> <a href="#v:mkComponentsGraph" class="selflink">#</a></p><div class="doc"><p>Create a <code><a href="Distribution-Compat-Graph.html#t:Graph" title="Distribution.Compat.Graph">Graph</a></code> of <code><a href="Distribution-Types-Component.html#t:Component" title="Distribution.Types.Component">Component</a></code>, or report a cycle if there is a
 problem.</p></div></div><div class="top"><p class="src"><a id="v:componentsGraphToList" class="def">componentsGraphToList</a> :: <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsGraph" title="Distribution.Backpack.ComponentsGraph">ComponentsGraph</a> -&gt; <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsWithDeps" title="Distribution.Backpack.ComponentsGraph">ComponentsWithDeps</a> <a href="#v:componentsGraphToList" class="selflink">#</a></p><div class="doc"><p>Given the package description and a <code><a href="Distribution-Types-PackageDescription.html#t:PackageDescription" title="Distribution.Types.PackageDescription">PackageDescription</a></code> (used
 to determine if a package name is internal or not), sort the
 components in dependency order (fewest dependencies first).  This is
 NOT necessarily the build order (although it is in the absence of
 Backpack.)</p></div></div><div class="top"><p class="src"><a id="v:dispComponentsWithDeps" class="def">dispComponentsWithDeps</a> :: <a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsWithDeps" title="Distribution.Backpack.ComponentsGraph">ComponentsWithDeps</a> -&gt; <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a> <a href="#v:dispComponentsWithDeps" class="selflink">#</a></p><div class="doc"><p>Pretty-print <code><a href="Distribution-Backpack-ComponentsGraph.html#t:ComponentsWithDeps" title="Distribution.Backpack.ComponentsGraph">ComponentsWithDeps</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:componentCycleMsg" class="def">componentCycleMsg</a> :: [<a href="Distribution-Types-ComponentName.html#t:ComponentName" title="Distribution.Types.ComponentName">ComponentName</a>] -&gt; <a href="file:///opt/ghc/8.6.5/share/doc/ghc-8.6.5/html/libraries/pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a> <a href="#v:componentCycleMsg" class="selflink">#</a></p><div class="doc"><p>Error message when there is a cycle; takes the SCC of components.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.22.0</p></div></body></html>