2010/7/24 Ivan Lazar Miljenovic <ivan.miljeno...@gmail.com> > Once again cc-ing -cafe; Immanuel, can you please do "reply to all" > rather than just "reply" in GMail? :p >
Oh, yes I forgot - sorry! Thanks for all the valuable infos :-) Immanuel > > Immanuel Normann <immanuel.norm...@googlemail.com> writes: > > > 2010/7/24 Ivan Lazar Miljenovic <ivan.miljeno...@gmail.com> > > > >> CC-ing haskell-cafe again: > >> > >> Immanuel Normann <immanuel.norm...@googlemail.com> writes: > >> > >> > 2010/7/24 Ivan Lazar Miljenovic <ivan.miljeno...@gmail.com> > >> > >> > Some of my lnodes in the graph have by construction unique labels and > I > >> want > >> > to lookup the lnode from a graph given only the label of that lnode. > >> > >> Well, from my understanding NodeMap doesn't do what you want, since it > >> assumes that _all_ of the node labels are unique > > > > > > I wouldn't bother when NodeMap maps also non-unique labels to single > nodes, > > because I only lookup nodes with unique labels, e.g. assume my label are > of > > the form > > data Label = Unique String | Multi Label > > I'm of the suspicion that using NodeMaps in this fashion will have > problem when considering nodes with the same label (even if you don't > explicitly use it for those nodes), as NodeMap seems to assume that node > labels are unique. > > For example, mkNode assumes node labels are unique. > > >> Furthemore, the way of using it seems to be analogous of how one would > use a > >> State monad > >> rather than for actual interactive use throughout. > >> > > > > Could you elaborate this further, please. > > > http://hackage.haskell.org/packages/archive/fgl/5.4.2.3/doc/html/Data-Graph-Inductive-NodeMap.html#v%3Arun > and > > http://hackage.haskell.org/packages/archive/fgl/5.4.2.3/doc/html/Data-Graph-Inductive-NodeMap.html#v%3Arun_ > > If you just want a mapping from labels to nodes, you may be better off > using your own custom Map (and maybe even defining a new graph type that > has such a Map as part of it). > > The successor to FGL-5.x (whatever we'll end up calling it) will allow > you to have custom node types rather than using Ints. However, this > will not work for you in this situation. > > The node type is just an _index_ type, analogous to the actual hash > value in a hash{map,array} (as opposed to the value which has the > hashing function applied upon it). It's there to provide a unique > identifier for a particular node. Arguably, an abstract type would be > even better as an Int as it will prevent you from doing silly things > like adding node indices together, but that's beside the point. > > If you wish to find a node with a specific label, try using something > like gsel: > http://hackage.haskell.org/packages/archive/fgl/5.4.2.3/doc/html/Data-Graph-Inductive-Basic.html#v%3Agsel > > -- > Ivan Lazar Miljenovic > ivan.miljeno...@gmail.com > IvanMiljenovic.wordpress.com >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe