summaryrefslogtreecommitdiff
path: root/src/Grasp/GEdge.hs
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2014-12-05 19:59:04 +1100
committerJed Barber <jjbarber@y7mail.com>2014-12-05 19:59:04 +1100
commit2aa0bab498cffbc12d485d2c59f7aed04c69c409 (patch)
tree49ed6dc7e2e2feedb585f52fbcfa84a97aa8c9ca /src/Grasp/GEdge.hs
parente473808bb92c8f7078d17c0798f6852d4c4b881b (diff)
GNode and GEdge types now have their own files... again...
Diffstat (limited to 'src/Grasp/GEdge.hs')
-rw-r--r--src/Grasp/GEdge.hs58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/Grasp/GEdge.hs b/src/Grasp/GEdge.hs
new file mode 100644
index 0000000..fcd826a
--- /dev/null
+++ b/src/Grasp/GEdge.hs
@@ -0,0 +1,58 @@
+module Grasp.GEdge (
+ GEdge,
+ EdgeLabel,
+
+ mkGEdge,
+ mkLabel,
+
+ toSrc,
+ toDest,
+ toLabel,
+ toLEdge
+ ) where
+
+
+
+
+import Grasp.Graph( Node, LEdge )
+
+
+
+
+newtype EdgeLabel = EdgeLabel String
+ deriving (Show, Eq)
+
+newtype GEdge = GEdge (LEdge EdgeLabel)
+ deriving (Show, Eq)
+
+
+
+
+mkGEdge :: LEdge EdgeLabel -> GEdge
+mkGEdge = GEdge
+
+
+
+mkLabel :: String -> EdgeLabel
+mkLabel = EdgeLabel
+
+
+
+toSrc :: GEdge -> String
+toSrc (GEdge (x,_,_)) = x
+
+
+
+toDest :: GEdge -> String
+toDest (GEdge (_,y,_)) = y
+
+
+
+toLabel :: GEdge -> EdgeLabel
+toLabel (GEdge (_,_,z)) = z
+
+
+
+toLEdge :: GEdge -> LEdge EdgeLabel
+toLEdge (GEdge e) = e
+