Is there a plan for moving the mzlib tests and docs from pkgs/racket-lib to pkgs/compatibility-lib? (I didn&#39;t move the mzlib/contract ones yet because I wasn&#39;t sure what to do. I can do stuff, tho, if you&#39;re not already.)<div>
<br></div><div>Robby<br><br>On Thursday, June 27, 2013, Sam Tobin-Hochstadt  wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yes, since `scheme/mzscheme` is the same language for the (many) parts<br>

of the core that need it.  There are a number of other small bits that<br>
I&#39;ll do as well.<br>
<br>
On Thu, Jun 27, 2013 at 8:45 PM, Robby Findler<br>
&lt;<a>robby@eecs.northwestern.edu</a>&gt; wrote:<br>
&gt; Did you consider moving &quot;#lang mzscheme&quot; out as well?<br>
&gt;<br>
&gt; Robby<br>
&gt;<br>
&gt;<br>
&gt; On Thursday, June 27, 2013, Sam Tobin-Hochstadt wrote:<br>
&gt;&gt;<br>
&gt;&gt; I&#39;ve now pushed this set of changes, which pass all the racket tests<br>
&gt;&gt; and build the whole system cleanly.  I think the next steps are:<br>
&gt;&gt;<br>
&gt;&gt; - Robby is going to move mzlib/contract.<br>
&gt;&gt; - Matthew is going to modify mzlib/compiler and mzlib/unit200.<br>
&gt;&gt; - Ryan is working on shrinking the db collection.<br>
&gt;&gt; - I posted about shrinking the `pkg` collection and working toward<br>
&gt;&gt; removing parts of the `net` collection.<br>
&gt;&gt;<br>
&gt;&gt; There are also some parts of some collections that aren&#39;t needed. Much<br>
&gt;&gt; of `openssl` could go if `pkg` was split. The decompiler and<br>
&gt;&gt; demodularizer could potentially be moved out. Perhaps distributed<br>
&gt;&gt; places could move.<br>
&gt;&gt;<br>
&gt;&gt; Other things to would, in my estimation, be much harder, and would<br>
&gt;&gt; probably be things that are part of `#lang racket`, like the class or<br>
&gt;&gt; unit systems or `match`, or things that are deeply intertwined with<br>
&gt;&gt; `raco setup`, like planet.<br>
&gt;&gt;<br>
&gt;&gt; Sam<br>
&gt;&gt;<br>
&gt;&gt; On Wed, Jun 26, 2013 at 6:38 PM, Robby Findler<br>
&gt;&gt; &lt;<a>robby@eecs.northwestern.edu</a>&gt; wrote:<br>
&gt;&gt; &gt; I can move mzlib/contract after you get done with other stuff.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Robby<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Wednesday, June 26, 2013, Sam Tobin-Hochstadt wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; On Tue, Jun 25, 2013 at 4:32 PM, Sam Tobin-Hochstadt<br>
&gt;&gt; &gt;&gt; &lt;<a>samth@ccs.neu.edu</a>&gt;<br>
&gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt; While moving some files around between packages, I realized that<br>
&gt;&gt; &gt;&gt; &gt; there<br>
&gt;&gt; &gt;&gt; &gt; are a number of things that could be moved out of the core and into<br>
&gt;&gt; &gt;&gt; &gt; packages.  Here&#39;s a partial list of things that I think are not<br>
&gt;&gt; &gt;&gt; &gt; needed<br>
&gt;&gt; &gt;&gt; &gt; at all by the rest of the core:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; I&#39;ve now done the first step of this work.  You can see the results<br>
&gt;&gt; &gt;&gt; here: <a href="https://github.com/plt/racket/pull/373" target="_blank">https://github.com/plt/racket/pull/373</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; This works to the degree that the core still compiles.  No other<br>
&gt;&gt; &gt;&gt; testing has happened yet -- that&#39;s the next step. A number of packages<br>
&gt;&gt; &gt;&gt; will need additional dependencies.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; I&#39;d like to get feedback on exactly how this is organized.  In<br>
&gt;&gt; &gt;&gt; particular, a bunch of things are now in a `compatibility-lib`<br>
&gt;&gt; &gt;&gt; collection:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; * almost all of `mzlib`<br>
&gt;&gt; &gt;&gt; * `compatibility/*`<br>
&gt;&gt; &gt;&gt; * `racket/mpair` and `racket/mlist`<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; There&#39;s also the following new packages: `errortrace-lib`,<br>
&gt;&gt; &gt;&gt; `errortrace-doc`, `unstable-contract-lib`, `unstable-options-lib`,<br>
&gt;&gt; &gt;&gt; `sandbox-lib`, `data-lib`, `rackunit`.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; The `help` collection moved to `scribble/lib`.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Where there isn&#39;t a new documentation package, libraries are mostly<br>
&gt;&gt; &gt;&gt; documented in `unstable` or `racket-doc`.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Things that didn&#39;t move:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; * `mzlib/compile`: This is used in one place in the compiler, and<br>
&gt;&gt; &gt;&gt; should probably be handled differently.  Matthew, any suggestions?<br>
&gt;&gt; &gt;&gt; * `mzlib/unit200`. This is loaded into a new namespace in which code<br>
&gt;&gt; &gt;&gt; is evaluated in `setup/unpack`.  I don&#39;t understand what is happening<br>
&gt;&gt; &gt;&gt; there, and thus won&#39;t change it.  It&#39;s also still used genuinely in<br>
&gt;&gt; &gt;&gt; `file/gzip`.<br>
&gt;&gt; &gt;&gt; * `mzlib/contract`. This is different enough from `racket/contract`<br>
&gt;&gt; &gt;&gt; that I&#39;d prefer to have someone who knows the contract system better<br>
&gt;&gt; &gt;&gt; handle this.  Also, much of the contract system implementation is in<br>
&gt;&gt; &gt;&gt; the `mzlib` directory, which seems odd.<br>
&gt;&gt; &gt;&gt; * `srfi/13`: use</blockquote></div>