[racket-dev] [plt] Push #23606: master branch updated

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Tue Sep 27 22:39:11 EDT 2011

Great, thanks!

Robby

On Tue, Sep 27, 2011 at 9:28 PM, Ryan Culpepper <ryan at cs.utah.edu> wrote:
> On 09/27/2011 07:54 PM, Robby Findler wrote:
>>
>> On Tue, Sep 27, 2011 at 8:39 PM,<ryanc at racket-lang.org>  wrote:
>>>
>>> ryanc has updated `master' from 247a51d5bd to c7f86d276c.
>>>  http://git.racket-lang.org/plt/247a51d5bd..c7f86d276c
>>>
>>> =====[ 5 Commits ]======================================================
>>
>>
>> The commit log says "removed useless requires" but this is one of the
>> diffs:
>>
>> collects/framework/gui-utils.rkt
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> --- OLD/collects/framework/gui-utils.rkt
>> +++ NEW/collects/framework/gui-utils.rkt
>> @@ -1,7 +1,7 @@
>> -#lang at-exp scheme/base
>> +#lang at-exp racket/base
>>
>> -(require string-constants scheme/gui/base
>> -         scheme/contract scheme/class)
>> +(require string-constants racket/gui/base
>> +         racket/contract/base racket/class)
>>  (require scribble/srcdoc)
>>  (require/doc scheme/base scribble/manual)
>>
>> and there don't seem to be any useless requires removed.
>
> More precisely, that commit removes some useless requires and replaces some
> imports with more specific modules (or sets of modules), such as, replacing
> scheme/contract with racket/contract/base.
>
> And there were a few other changes, such as changing a few uses of block to
> let when the final form was always an expression.
>
>> But more interestingly, scheme/base and racket/base are not identical,
>> right? I think the struct binding is different. And maybe other
>> things? Did you make sure that these differences don't matter in all
>> those files?
>
> The check-requires script, which suggested most of these changes, will not
> recommend replacing scheme/base with racket/base if the module actually uses
> any of the scheme/base-specific bindings (eg, make-base-namespace).
>
> That's not to say the script is always perfect, but it's pretty smart. And
> the major dangers are renamings and side-effectful modules, most of which
> are rare enough for me to handle them by hand.
>
> Ryan
>



Posted on the dev mailing list.