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

From: Ryan Culpepper (ryan at cs.utah.edu)
Date: Tue Sep 27 22:28:02 EDT 2011

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, 

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.


Posted on the dev mailing list.