je veux représenter un graphique dans Haskell de la manière suivante:données Haskell graphique de représentation de type
Pour chaque nœud Je souhaite stocker sa valeur et une liste de noeuds adjacents. Le problème que je rencontre des difficultés est que je veux que les nœuds adjacents soient stockés comme références aux autres nœuds. Par exemple, je souhaite que le nœud ny soit stocké sous la forme ("NY" (l p)) où l et p sont des nœuds adjacents, et non pas ("NY" ("London" "Paris")).
J'ai essayé quelque chose comme ceci:
data Node a = Node { value :: a
, neighbors :: [Node a]
}deriving (Show)
let n1 = Node {value=1, neighbors=[n2]}
let n2 = Node {value=1, neighbors=[n1 n3]}
let n3 = Node {value=1, neighbors=[n2]}
Mais je reçois en erreur let. Qu'est-ce que je fais mal ?
Vous êtes probablement habitué à utiliser ' Let à l'invite ghci, mais ce n'est pas nécessaire au plus haut niveau dans les programmes de haskell réels. –