
+1 for "lookup". On 28.06.2016 11:44, Oliver Charles wrote:
I don't really see the problem with lookup. To me, that function always takes a container, an index into that container, and returns the value under than index or fails. It just so happens that sets are indexed by the very values the contain, but I don't find the signature confusing. Sure, I might not use it very often, but it's still clear enough to me what it's doing.
Ollie
On Tue, 28 Jun 2016, 10:23 a.m. Chris Wong,
mailto:lambda.fairy@gmail.com> wrote: Python uses "intern", so perhaps that can serve as the name.
(See https://docs.python.org/2/library/functions.html#intern)
On Tue, Jun 28, 2016 at 9:47 AM, David Feuer
mailto:david.feuer@gmail.com> wrote: > +1 on the function. -1/2 on the name. > > On Jun 27, 2016 5:45 PM, "Nicolas Godbout" mailto:nicolas.godbout@gmail.com> > wrote: >> >> >> WHAT >> >> It is proposed to add a ‘lookup' function on 'Set' in the "containers" >> package. Feedback during the next two weeks is welcome. >> >> The function >> >> > lookup :: Ord a => a -> Set a -> Maybe a >> >> is almost indentical to the 'member' function but, in addition, returns >> the value >> stored in the set. >> >> WHY >> >> The point of this proposal is to facilitate program-wide data sharing. The >> 'lookup' >> function gives access to a pointer to an object already stored in a Set >> and equal >> to a given argument. The 'lookup' function is a natural extension to the >> current >> 'lookupLT', 'lookupGT', 'lookupLE' and 'lookupGE' functions, with obvious >> semantics. >> >> Example use case: In a parser, the memory footprint can be reduced by >> collapsing >> all equal strings to a single instance of each string. To achieve this, >> one needs >> a way to get a previously seen string (internally, a pointer) equal to a >> newly >> parsed string. Amazingly, this is very difficult with the current >> "containers" library interface. >> One current option is to use a Map instead, e.g., 'Map String String' >> which stores twice as many pointers as necessary. >> >> HOW >> >> The git pull request at >> https://github.com/haskell/containers/pull/291 >> contains the straight-forward implementation of the 'lookup’ function on >> 'Set', with test cases, >> as a patch against the current containers master branch. >> >> >> Salutations, >> Nicolas. >> >> _______________________________________________ >> Libraries mailing list >> Libraries@haskell.org mailto:Libraries@haskell.org >> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries > > > _______________________________________________ > Libraries mailing list > Libraries@haskell.org mailto:Libraries@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries > -- Chris Wong (https://lambda.xyz)
"I had not the vaguest idea what this meant and when I could not remember the words, my tutor threw the book at my head, which did not stimulate my intellect in any way." -- Bertrand Russell _______________________________________________ Libraries mailing list Libraries@haskell.org mailto:Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
-- Andreas Abel <>< Du bist der geliebte Mensch. Department of Computer Science and Engineering Chalmers and Gothenburg University, Sweden andreas.abel@gu.se http://www2.tcs.ifi.lmu.de/~abel/