[racket-dev] Mangaging `unstable` with packages
On Mon, Jun 24, 2013 at 3:52 AM, Eli Barzilay <eli at barzilay.org> wrote:
> On Friday, Sam Tobin-Hochstadt wrote:
>>
>> # `unstable/list`
>>
>> - `remf`, `list-update` `list-set` `map/values`: move to
>> `racket/list`
>> - `group-by`: rename to `group`, add keyword argument `#:by`
>> defaulting to `equal?`, move to `racket/list`
>
> All of these are used in the tree only by their authors, and almost
> all of them are used between zero and time.
>
> `remf' is the same as `filter-not'.
This is false, as the example in the `remf` docs shows.
> `map/values' can be expressed in most cases more conveniently with
> `for/fold'.
I've used `map/values`, and I'm not its author. Also, it's a function
that I've seen requested for years.
> `group-by' is doing something weird -- see for example clojure's
> function by the same name that does something that looks more useful
> (IMO). Also, `group' sounds way too generic for something as specific
> as what it does.
`group-by`, and my proposed `group`, is what Haskell provides. I
don't find the Clojure version nearly as compelling, since it combines
a map and a grouping operation.
Sam