
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 "
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
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
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 Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe