[racket-dev] Mangaging `unstable` with packages

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Mon Jun 24 07:12:23 EDT 2013

I also don't know what they are.  They appear to have been added by
Neil T 18 months ago.  Neil?

Sam

On Jun 21, 2013 6:37 PM, "Robby Findler" <robby at eecs.northwestern.edu> wrote:
>
> I'm not completely clear on what latent-contracts are, but perhaps options should be being used there?
>
> Robby
>
>
> On Fri, Jun 21, 2013 at 5:17 PM, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
>>
>> The new package organization gives us a chance to re-asses the
>> "unstable" collection.
>>
>> Going forward, I think the "unstable" collection should be used in the
>> following ways:
>>
>> 1. If you build something that you think is general-purpose, but is
>> only used in one package, put it in `unstable/foo`, but keep it inside
>> that package.
>>
>> 2. If you either (a) want to use some other package's `unstable/foo`
>> library, or (b) create such a library that's used across multiple
>> packages, create a separate package called "unstable-foo" for it.
>>
>> It's perhaps worth saying why we still need "unstable" at all in the
>> new regime.  We might just create a new package for, say, parameter
>> groups, and just add that as a dependency of "plot". But that would
>> ship a library in a useful location, and potentially commit us to that
>> library and API for the future. So I think we should keep "unstable"
>> around.
>>
>> With that said, I'd like to also propose moving the following out of "unstable":
>>
>> # `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`
>>
>> - `extend`, `filter/values`: move back into Typed Racket
>> - `list-prefix?`: move back into the web server
>>
>> - `map2`, `check-duplicate`, `*-common-prefix`: Delete
>>
>> # `unstable/parameter-group`
>>
>> This is used by both the "image" and "plot" libraries. Create a new
>> top-level collection and package.
>>
>> # `unstable/latent-contract`
>>
>> Currently undocumented. Used by the image collection anyway.  This
>> needs to be fixed.
>>
>> That's it for things outside of the "unstable" package, which I'll
>> tackle another time.
>>
>> Sam
>> _________________________
>>   Racket Developers list:
>>   http://lists.racket-lang.org/dev
>
>

Posted on the dev mailing list.