Re: [Haskell-cafe] Where is SNMap for stable names?

2011-09-24 Thread Sean Leather
On Sat, Sep 24, 2011 at 01:41, Edward Kmett wrote: You still need IO to get the stable name out to use. :) I don't understand this statement. Consider the lookup operation in the paper and in your System.Mem.StableName.Map: lookupSNMap :: SNMap k v - StableName k - IO (Maybe v) lookup ::

Re: [Haskell-cafe] Where is SNMap for stable names?

2011-09-23 Thread Sean Leather
Hi Edward, On Thu, Sep 22, 2011 at 16:50, Edward Kmett wrote: I have a stable-maps package that provides lookup and inserting into a map via stable names. The paper mentions the need for a mutable finite map, and all the operations are IO. Do you know why this is and what's different with

Re: [Haskell-cafe] Where is SNMap for stable names?

2011-09-23 Thread 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

Re: [Haskell-cafe] Where is SNMap for stable names?

2011-09-23 Thread Edward Kmett
You still need IO to get the stable name out to use. :) Sent from my iPad On Sep 23, 2011, at 5:33 AM, Sean Leather leat...@cs.uu.nl wrote: Hi Edward, On Thu, Sep 22, 2011 at 16:50, Edward Kmett wrote: I have a stable-maps package that provides lookup and inserting into a map via stable

Re: [Haskell-cafe] Where is SNMap for stable names?

2011-09-23 Thread Edward Kmett
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

Re: [Haskell-cafe] Where is SNMap for stable names?

2011-09-22 Thread 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 leat...@cs.uu.nl wrote: There is an abstract type called SNMap for stable names referred to in [1]. This has apparently disappeared from GHC a

Re: [Haskell-cafe] Where is SNMap for stable names?

2011-09-22 Thread James Cook
I may be wrong, but I think the original SNMap was a map from 'StableName's to the specific values they were derived from, which also (IIRC) had some weak referencing aspect as well. Using them as keys for arbitrary elements of the phantom type is actually not type-safe, because equality of

Re: [Haskell-cafe] Where is SNMap for stable names?

2011-09-22 Thread Edward Kmett
Then don't do that. =) I should have mentioned, parametric keys are a no no and can do bad things. ;) -Edward On Thu, Sep 22, 2011 at 2:33 PM, James Cook mo...@deepbondi.net wrote: I may be wrong, but I think the original SNMap was a map from 'StableName's to the specific values they were