<div dir="ltr">I&#39;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">&lt;<a href="mailto:samth@ccs.neu.edu" target="_blank">samth@ccs.neu.edu</a>&gt;</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>
&quot;unstable&quot; collection.<br>
<br>
Going forward, I think the &quot;unstable&quot; 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&#39;s `unstable/foo`<br>
library, or (b) create such a library that&#39;s used across multiple<br>
packages, create a separate package called &quot;unstable-foo&quot; for it.<br>
<br>
It&#39;s perhaps worth saying why we still need &quot;unstable&quot; 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 &quot;plot&quot;. 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 &quot;unstable&quot;<br>
around.<br>
<br>
With that said, I&#39;d like to also propose moving the following out of &quot;unstable&quot;:<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 &quot;image&quot; and &quot;plot&quot; 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&#39;s it for things outside of the &quot;unstable&quot; package, which I&#39;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>