Come spiegato sul mio previous question, non è possibile distinguere due grafici creati usando la strategia del nodo se non si dispone di una sorta di etichetta univoca sui nodi. Utilizzando un grafico a due tagli come esempio:Esiste un modo per un modo conveniente di esprimere i grafici usando la strategia del nodo?
data Node = Node Int Node Node
square = a where
a = Node 0 b c
b = Node 1 a d
c = Node 2 a d
d = Node 3 b c
scrittura square
questo modo è un po 'scomodo e soggetto ad errori a causa della necessità di scrivere manualmente etichette. Questo tipo di modello di solito richiedono una monade:
square = do
a <- Node b c
b <- Node a d
c <- Node a d
d <- Node b c
return a
Ma anche questo non può essere fatto da monadi sono sequenziali. C'è un modo conveniente per scrivere i grafici del nodo?
GIven [altra mia risposta] (http://stackoverflow.com/a/33337598/477476), forse per il vostro caso d'uso particolare, legare il nodo potrebbe essere il modo più conveniente! – Cactus