Add haddock for Node in Digraph. [skip ci]
authorklebinger.andreas@gmx.at <klebinger.andreas@gmx.at>
Sat, 8 Dec 2018 04:22:08 +0000 (23:22 -0500)
committerBen Gamari <ben@smart-cactus.org>
Sat, 8 Dec 2018 04:22:30 +0000 (23:22 -0500)
Test Plan: make

Reviewers: bgamari

Reviewed By: bgamari

Subscribers: rwbarton, carter

Differential Revision: https://phabricator.haskell.org/D5378

compiler/utils/Digraph.hs

index bb118a6..cb401be 100644 (file)
@@ -87,15 +87,23 @@ data Graph node = Graph {
 
 data Edge node = Edge node node
 
+{-| Representation for nodes of the Graph.
+
+ * The @payload@ is user data, just carried around in this module
+
+ * The @key@ is the node identifier.
+   Key has an Ord instance for performance reasons.
+
+ * The @[key]@ are the dependencies of the node;
+   it's ok to have extra keys in the dependencies that
+   are not the key of any Node in the graph
+-}
 data Node key payload = DigraphNode {
-      node_payload :: payload,
-      node_key :: key,
-      node_dependencies :: [key] }
-     -- The payload is user data, just carried around in this module
-     -- The keys are ordered
-     -- The [key] are the dependencies of the node;
-     --    it's ok to have extra keys in the dependencies that
-     --    are not the key of any Node in the graph
+      node_payload :: payload, -- ^ User data
+      node_key :: key, -- ^ User defined node id
+      node_dependencies :: [key] -- ^ Dependencies/successors of the node
+  }
+
 
 instance (Outputable a, Outputable b) => Outputable (Node  a b) where
   ppr (DigraphNode a b c) = ppr (a, b, c)