У меня есть маленький вопрос относительно Хаскелла. Если у меня есть тип данных, представляющий график, подобный этому:
import Data.Map (Map,empty,member,insert)
import Graphviz
-- | A directed graph
data Graph v = Graph
{ arcsMap :: Map v [v] -- A map associating a vertex with its
successors
, labelMap :: Map v String -- The Graphviz label of each node
, styleMap :: Map v String -- The Graphviz style of each node
}
И я хочу создать список, получая доступ ко всем вершинам данного графа.
Вот так:
-- | Returns the list of vertices of a graph in ascending order
--
-- >>> vertices emptyGraph
-- []
-- >>> vertices $ addVertices emptyGraph [1,4,5,2,1]
-- [1,2,4,5]
vertices :: Graph v -> [v]
Мой вопрос заключается в том, как я могу попросить Haskell просмотреть все вершины в arcsMap и создать с ним список? Спасибо !!!