I use hashStableName to split the names up then walk down the list use equality comparisons on an expected O(1) items. I'll probably rewrite it using unordered containers, since Tibbe does the same sans the stable names.
Sent from my iPad On Sep 23, 2011, at 5:54 AM, "Alberto G. Corona " <[email protected]> wrote: > How do you do that, since Stable Names have not an Ord instance?. Using the > Eq instance the lookup should be O(n). > > The paper suggest that SNMap is a hash table, presumably with > hashStableNames underneath: > > This should work more or less . using Data.HashTable > > Import Data.HashTable > import Data.Dynamic > > table :: HashTable StableName Dynamic > > table= new (==) hashStableName > > > > > 2011/9/22 Edward Kmett <[email protected]> > I have a "stable-maps" package that provides lookup and inserting into a map > via stable names. > > -Edward > > On Thu, Sep 22, 2011 at 5:47 AM, Sean Leather <[email protected]> wrote: > There is an abstract type called SNMap for stable names referred to in [1]. > This has apparently disappeared from GHC a long time ago. Is it still > available somewhere, or is there a suitable replacement for it? > > Regards, > Sean > > [1] "Stretching the storage manager: weak pointers and stable names in > Haskell" - http://research.microsoft.com/apps/pubs/default.aspx?id=67497 > > _______________________________________________ > Haskell-Cafe mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe > > > > _______________________________________________ > Haskell-Cafe mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe > >
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
