Hallo zusammen,
Ich habe folgende Aufgabestellung:
ich muss eine Funktion
filterE :: (v -> l -> v -> Bool) -> [LabeledEdge v l] -> [LabeledEdge v l]
schreiben, die aus einer Liste von beschrifteten Kanten diejenigen zurückgibt, für die die als erstes Argument übergebene
Funktion True zurückgibt.
Ich selbst habe so weit den Baum so dargestellt:
data LabeledGraph v l = Graph [LabeledEdge v l] deriving Show
data LabeledEdge v l = Edge v l v deriving Show
data ContactType = Friend | Business | Lover deriving Show
socialNetwork :: LabeledGraph String ContactType
socialNetwork =
Graph
[Edge "Carol" Friend "Alice",
Edge "Alice" Friend "Carol",
Edge "Carol" Friend "Fran",
Edge "Fran" Friend "Carol",
Edge "Fran" Business "Alice",
Edge "Alice" Business "Fran",
Edge "Eve" Business "Fran",
Edge "Fran" Business "Eve",
Edge "Alice" Business "Dave",
Edge "Dave" Business "Alice",
Edge "Alice" Lover "Bob",
Edge "Bob" Lover "Alice",
Edge "Eve" Friend "Bob",
Edge "Bob" Friend "Eve",
Edge "Bob" Freind "Dave",
Edge "Dave" Friend "Bob"]
filterE :: (v -> l -> v -> Bool) -> [LabledEdge v l] -> [LabledEdge v l]
filterE g (Graph x:xs) =
Kann mir da eine nen Tipp geben wie ich da weiter kommen kann.?!
Vielen Dank