[racket-dev] Refactoring Idea

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Mon Apr 28 11:23:57 EDT 2014

But giving drracket a list of packages is probably a very useful
special case and the "rename in the package I'm in" is even yet more
useful special case, especially when the file is a private module.

Robby

On Mon, Apr 28, 2014 at 10:20 AM, Matthias Felleisen
<matthias at ccs.neu.edu> wrote:
>
> This is one of those places where our desire to not include
> extra-linguistic mechanisms conflicts with our desire to
> support our programmers. I have had this idea many times,
> as I am sure have many others and Jens probably had it tons
> of times over the years.
>
> Even a package isn't enough because one might have client
> modules somewhere else.
>
>
>
>
>
> On Apr 28, 2014, at 11:03 AM, Robby Findler <robby at eecs.northwestern.edu> wrote:
>
>> I guess this would work best if DrRacket were given a package (and it
>> could infer the current package from the location of the file being
>> edited).
>>
>> So if someone wants to implement a function that, given a package spec
>> and a renaming and then does the work, I'd be happy to try to
>> integrate it into DrRacket proper. Also: "does the renaming" should
>> mean rewrite the files on the disk and rewrite the files that are open
>> in DrRacket and there is some interesting questions when the file is
>> open and the save file isn't up to date. DrRacket can easily supply a
>> list of text% objects that correspond to open files, however (and they
>> can be queried to find out if they are saved or what their content is,
>> etc).
>>
>> Robby
>>
>> On Mon, Apr 28, 2014 at 9:40 AM, Jens Axel Søgaard
>> <jensaxel at soegaard.net> wrote:
>>> From time to time the topic of refactoring pop up on the mailing list.
>>>
>>> Here is one feature I'd like:
>>>    After renaming an exported identifier in a module foo,
>>>    any references to the identifier in external modules need
>>>    to be renamed too. DrRacket could after renaming in foo is done,
>>> ask for a folder in which to search for module that require foo and
>>> rename the identifier in those modules.
>>>
>>>
>>> --
>>> Jens Axel Søgaard
>>>
>>> _________________________
>>>  Racket Developers list:
>>>  http://lists.racket-lang.org/dev
>>
>> _________________________
>>  Racket Developers list:
>>  http://lists.racket-lang.org/dev
>


Posted on the dev mailing list.