instance Show Data.Map? (was Re: [Haskell] Data.Map missing keysFM_GE,
eltsFM_GE?)
S. Alexander Jacobson
alex at alexjacobson.com
Mon Feb 21 17:06:05 EST 2005
Ok, thanks. I also notice that Data.Map derives Show, but not Read
and that the shown format is slightly annoying to parse because it
creates this new pseudo-operator (:=).
Given that you can't hide instance declarations, it would be better
either not to implement Show at all, to implement it as
(show.assocs), or to provide a Read instance.
Any hope of the above, or do I need to refactor my code not to use
(Read,Show) around Data.Map?
-Alex-
______________________________________________________________
S. Alexander Jacobson tel:917-770-6565 http://alexjacobson.com
On Mon, 21 Feb 2005, Tomasz Zielonka wrote:
> On Mon, Feb 21, 2005 at 02:39:54PM -0500, S. Alexander Jacobson wrote:
>> Data.FiniteMap has functions keysFM_GE and eltsFM_GE which return the
>> keys or elts of pairs greater than or equal to the provided key.
>>
>> These functions do not appear to be in the new Data.Map.
>>
>> Is this intentional?
>
> There is
>
> splitLookup :: (Ord k) =>
> k
> -> Data.Map.Map k a
> -> (Data.Map.Map k a, Maybe a, Data.Map.Map k a)
>
> and
>
> toAscList :: Data.Map.Map k a -> [(k, a)]
>
> so you can write keysFM_GE and eltsFM_GE yourself, for example:
>
> eltsFM_GE k m = maybe [] return eq ++ Prelude.map snd (toAscList ge)
> where
> (_, eq, ge) = splitLookup k m in
>
> Best regards
> Tomasz
>
More information about the Haskell
mailing list