I can move mzlib/contract after you get done with other stuff.<div><br></div><div>Robby<br><br>On Wednesday, June 26, 2013, Sam Tobin-Hochstadt  wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Tue, Jun 25, 2013 at 4:32 PM, Sam Tobin-Hochstadt &lt;<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;samth@ccs.neu.edu&#39;)">samth@ccs.neu.edu</a>&gt; wrote:<br>
&gt; While moving some files around between packages, I realized that there<br>
&gt; are a number of things that could be moved out of the core and into<br>
&gt; packages.  Here&#39;s a partial list of things that I think are not needed<br>
&gt; at all by the rest of the core:<br>
<br>
I&#39;ve now done the first step of this work.  You can see the results<br>
here: <a href="https://github.com/plt/racket/pull/373" target="_blank">https://github.com/plt/racket/pull/373</a><br>
<br>
This works to the degree that the core still compiles.  No other<br>
testing has happened yet -- that&#39;s the next step. A number of packages<br>
will need additional dependencies.<br>
<br>
I&#39;d like to get feedback on exactly how this is organized.  In<br>
particular, a bunch of things are now in a `compatibility-lib`<br>
collection:<br>
<br>
* almost all of `mzlib`<br>
* `compatibility/*`<br>
* `racket/mpair` and `racket/mlist`<br>
<br>
There&#39;s also the following new packages: `errortrace-lib`,<br>
`errortrace-doc`, `unstable-contract-lib`, `unstable-options-lib`,<br>
`sandbox-lib`, `data-lib`, `rackunit`.<br>
<br>
The `help` collection moved to `scribble/lib`.<br>
<br>
Where there isn&#39;t a new documentation package, libraries are mostly<br>
documented in `unstable` or `racket-doc`.<br>
<br>
Things that didn&#39;t move:<br>
<br>
* `mzlib/compile`: This is used in one place in the compiler, and<br>
should probably be handled differently.  Matthew, any suggestions?<br>
* `mzlib/unit200`. This is loaded into a new namespace in which code<br>
is evaluated in `setup/unpack`.  I don&#39;t understand what is happening<br>
there, and thus won&#39;t change it.  It&#39;s also still used genuinely in<br>
`file/gzip`.<br>
* `mzlib/contract`. This is different enough from `racket/contract`<br>
that I&#39;d prefer to have someone who knows the contract system better<br>
handle this.  Also, much of the contract system implementation is in<br>
the `mzlib` directory, which seems odd.<br>
* `srfi/13`: used in `net/cookie` in a way that&#39;s intertwined with<br>
`srfi/14` and would be hard to remove on its own.<br>
* `srfi/8`: Used in unmodified srfi code that we probably shouldn&#39;t change.<br>
* Other SRFIs -- used in the `db` collection, or depended on by those that are.<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>