[GHC] #720: Map/Set range function
GHC
trac at galois.com
Fri Mar 10 15:38:50 EST 2006
#720: Map/Set range function
------------------------------+---------------------------------------------
Reporter: jpbernardy | Owner:
Type: feature request | Status: new
Priority: normal | Milestone:
Component: libraries/base | Version: 6.4.1
Severity: normal | Resolution:
Keywords: collections | Os: Unknown
Difficulty: Unknown | Architecture: Unknown
------------------------------+---------------------------------------------
Old description:
> Data.Map seems to lack a way to perform range queries
> like "fetch all elements between keys low and high".
> The naive implementation is easy:
>
> range :: Ord k => k -> k -> Map.Map k v -> [(k,v)]
> range low high = toList . fst . split high . snd . split low
>
> But this is not very fast for larger maps. Maybe
> this operation could be provided in Data.Map?
New description:
Data.Map seems to lack a way to perform range queries
like "fetch all elements between keys low and high".
The naive implementation is easy:
{{{
range :: Ord k => k -> k -> Map.Map k v -> [(k,v)]
range low high = toList . fst . split high . snd . split low
}}}
But this is not very fast for larger maps. Maybe
this operation could be provided in Data.Map?
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/720>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list