summaryrefslogtreecommitdiff
path: root/src/Grasp/Types/GEdge.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Grasp/Types/GEdge.hs')
-rw-r--r--src/Grasp/Types/GEdge.hs41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/Grasp/Types/GEdge.hs b/src/Grasp/Types/GEdge.hs
new file mode 100644
index 0000000..38ce596
--- /dev/null
+++ b/src/Grasp/Types/GEdge.hs
@@ -0,0 +1,41 @@
+module Grasp.Types.GEdge (
+ GEdge,
+
+ mk,
+
+ toSrc,
+ toDest,
+ toLabel,
+ toLEdge
+ ) where
+
+
+
+
+import Grasp.Graph( Node, LEdge )
+import Grasp.Types.EdgeLabel( EdgeLabel )
+
+
+
+
+newtype GEdge = GEdge (LEdge EdgeLabel)
+ deriving (Show, Eq)
+
+
+
+
+mk :: LEdge EdgeLabel -> GEdge
+mk = GEdge
+
+toSrc :: GEdge -> Node
+toSrc (GEdge (x,_,_)) = x
+
+toDest :: GEdge -> Node
+toDest (GEdge (_,y,_)) = y
+
+toLabel :: GEdge -> EdgeLabel
+toLabel (GEdge (_,_,z)) = z
+
+toLEdge :: GEdge -> LEdge EdgeLabel
+toLEdge (GEdge e) = e
+