[racket-dev] Deprecating collects

From: Carl Eastlund (cce at ccs.neu.edu)
Date: Tue Jul 10 18:49:16 EDT 2012

On Tue, Jul 10, 2012 at 6:44 PM, Neil Van Dyke <neil at neilvandyke.org> wrote:
> Robby Findler wrote at 07/10/2012 05:20 PM:
>>
>> On Tue, Jul 10, 2012 at 2:39 PM, Matthew Flatt<mflatt at cs.utah.edu>  wrote:
>>
>>>> - mzlib [...]
>>>> - mzscheme [...]
>>>>
>>>
>>> I don't think these should be removed or deprecated, ever. I have lots
>>> of code that still refers to them --- I doubt that I'm alone --- and I
>>> think we should be able to support them.
>>>
>>
>> I agree that these should never be removed. I would not mind if they
>> were marked in some way as "these are here for legacy reasons. New
>> code should use XYZ" with specific pointers and helpful advice.
>
> I'm still using some "mzlib" in *new* code.  Specifically, "getpid",
> "this-expression-source-directory", "gethostname", and perhaps one or two
> other things.  I could find other ways to do those things if I had to, but
> those definitions pop up when I search, and there's no glaring warning not
> to use them.

All the useful contents in mzscheme and mzlib should really have an
equivalent somewhere else, usually in racket/<something>, so that new
code never needs to import old libraries.  That would allow mzscheme
and mzlib to be deprecated as legacy code.  Personally I'd be okay
with it being removed after sufficient warning, but I can see the
argument for maintaining them indefinitely.  If we ever get a
distribution split up into separate packages, then developers could
choose whether to install mzscheme and mzlib if they really
[did/didn't] need them, and we'd get the best of both worlds.

--Carl

Posted on the dev mailing list.