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