summaryrefslogtreecommitdiff
path: root/src/Grasp/GEdge.hs
blob: fcd826ad13956d12a8f31490c6d79bc114a0f2a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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