This page is no longer maintained — Please continue to the home page at www.scala-lang.org

Scala Refactoring Thesis Finished

12 replies
Mirko Stocker
Joined: 2009-09-10,
User offline. Last seen 45 weeks 6 days ago.

Hi all,

I just finished my master's thesis on Scala Refactoring. I developed an IDE
independent library that uses the Scala compiler to provide refactoring
functionality. I implemented several refactorings, but it was also my goal to
make it easy to create new refactorings: you just have to write a tree
transformation and the library takes care of the source code changes.

The refactorings are being integrated into the Scala IDE for Eclipse (they are
currently in a branch, but will be merged). Because the refactorings only
depend on the Scala compiler, they could also be intergrated into other Scala
IDEs.

There's also a new website for it: http://scala-refactoring.org, my report is
here: http://scala-refactoring.org/wp-content/uploads/scala-refactoring.pdf.
The report might also be interesting for others that start working with the
Scala AST, I have an Appendix that documents how the Scala AST classes are
used.

Feedback is very welcome; I'm going to continue the project in my spare time,
so please report bugs - they will be fixed :-)

Thanks,

Mirko

Naftoli Gugenheim
Joined: 2008-12-17,
User offline. Last seen 42 years 45 weeks ago.
Re: Scala Refactoring Thesis Finished
Real neat!! Thanks!

On Fri, Jul 16, 2010 at 3:02 PM, Mirko Stocker <me [at] misto [dot] ch> wrote:
Hi all,

I just finished my master's thesis on Scala Refactoring. I developed an IDE
independent library that uses the Scala compiler to provide refactoring
functionality. I implemented several refactorings, but it was also my goal to
make it easy to create new refactorings: you just have to write a tree
transformation and the library takes care of the source code changes.

The refactorings are being integrated into the Scala IDE for Eclipse (they are
currently in a branch, but will be merged). Because the refactorings only
depend on the Scala compiler, they could also be intergrated into other Scala
IDEs.

There's also a new website for it: http://scala-refactoring.org, my report is
here: http://scala-refactoring.org/wp-content/uploads/scala-refactoring.pdf.
The report might also be interesting for others that start working with the
Scala AST, I have an Appendix that documents how the Scala AST classes are
used.

Feedback is very welcome; I'm going to continue the project in my spare time,
so please report bugs - they will be fixed :-)

Thanks,

Mirko

--
Mirko Stocker | me [at] misto [dot] ch
Work: http://ifs.hsr.ch | http://infoq.com
Personal: http://misto.ch | http://twitter.com/m_st

Naftoli Gugenheim
Joined: 2008-12-17,
User offline. Last seen 42 years 45 weeks ago.
Re: Scala Refactoring Thesis Finished
Real neat!! Thanks!

On Fri, Jul 16, 2010 at 3:02 PM, Mirko Stocker <me [at] misto [dot] ch> wrote:
Hi all,

I just finished my master's thesis on Scala Refactoring. I developed an IDE
independent library that uses the Scala compiler to provide refactoring
functionality. I implemented several refactorings, but it was also my goal to
make it easy to create new refactorings: you just have to write a tree
transformation and the library takes care of the source code changes.

The refactorings are being integrated into the Scala IDE for Eclipse (they are
currently in a branch, but will be merged). Because the refactorings only
depend on the Scala compiler, they could also be intergrated into other Scala
IDEs.

There's also a new website for it: http://scala-refactoring.org, my report is
here: http://scala-refactoring.org/wp-content/uploads/scala-refactoring.pdf.
The report might also be interesting for others that start working with the
Scala AST, I have an Appendix that documents how the Scala AST classes are
used.

Feedback is very welcome; I'm going to continue the project in my spare time,
so please report bugs - they will be fixed :-)

Thanks,

Mirko

--
Mirko Stocker | me [at] misto [dot] ch
Work: http://ifs.hsr.ch | http://infoq.com
Personal: http://misto.ch | http://twitter.com/m_st

Aemon Cannon
Joined: 2010-03-21,
User offline. Last seen 1 year 24 weeks ago.
Re: Scala Refactoring Thesis Finished

Congratulations! I can't wait to take a look at this : )

On 07/16/2010 12:02 PM, Mirko Stocker wrote:
> Hi all,
>
> I just finished my master's thesis on Scala Refactoring. I developed an IDE
> independent library that uses the Scala compiler to provide refactoring
> functionality. I implemented several refactorings, but it was also my goal to
> make it easy to create new refactorings: you just have to write a tree
> transformation and the library takes care of the source code changes.
>
> The refactorings are being integrated into the Scala IDE for Eclipse (they are
> currently in a branch, but will be merged). Because the refactorings only
> depend on the Scala compiler, they could also be intergrated into other Scala
> IDEs.
>
> There's also a new website for it: http://scala-refactoring.org, my report is
> here: http://scala-refactoring.org/wp-content/uploads/scala-refactoring.pdf.
> The report might also be interesting for others that start working with the
> Scala AST, I have an Appendix that documents how the Scala AST classes are
> used.
>
> Feedback is very welcome; I'm going to continue the project in my spare time,
> so please report bugs - they will be fixed :-)
>
> Thanks,
>
> Mirko
>

Aemon Cannon
Joined: 2010-03-21,
User offline. Last seen 1 year 24 weeks ago.
Re: Scala Refactoring Thesis Finished

Congratulations! I can't wait to take a look at this : )

On 07/16/2010 12:02 PM, Mirko Stocker wrote:
> Hi all,
>
> I just finished my master's thesis on Scala Refactoring. I developed an IDE
> independent library that uses the Scala compiler to provide refactoring
> functionality. I implemented several refactorings, but it was also my goal to
> make it easy to create new refactorings: you just have to write a tree
> transformation and the library takes care of the source code changes.
>
> The refactorings are being integrated into the Scala IDE for Eclipse (they are
> currently in a branch, but will be merged). Because the refactorings only
> depend on the Scala compiler, they could also be intergrated into other Scala
> IDEs.
>
> There's also a new website for it: http://scala-refactoring.org, my report is
> here: http://scala-refactoring.org/wp-content/uploads/scala-refactoring.pdf.
> The report might also be interesting for others that start working with the
> Scala AST, I have an Appendix that documents how the Scala AST classes are
> used.
>
> Feedback is very welcome; I'm going to continue the project in my spare time,
> so please report bugs - they will be fixed :-)
>
> Thanks,
>
> Mirko
>

Jason Zaugg
Joined: 2009-05-18,
User offline. Last seen 38 weeks 5 days ago.
Re: Scala Refactoring Thesis Finished

Don't tell your reviewers, but Organize Imports is a bit trickier thanks to:

"Bindings of different kinds have a precedence defined on them:
...
2. Explicit imports have next highest precedence.
3. Wildcard imports have next highest precedence."

So you can't safely replace:

import java.util.{List, _}

with

import java.util._

-jason

On Fri, Jul 16, 2010 at 9:02 PM, Mirko Stocker wrote:
> Hi all,
>
> I just finished my master's thesis on Scala Refactoring. I developed an IDE
> independent library that uses the Scala compiler to provide refactoring
> functionality. I implemented several refactorings, but it was also my goal to
> make it easy to create new refactorings: you just have to write a tree
> transformation and the library takes care of the source code changes.
>
> The refactorings are being integrated into the Scala IDE for Eclipse (they are
> currently in a branch, but will be merged). Because the refactorings only
> depend on the Scala compiler, they could also be intergrated into other Scala
> IDEs.
>
> There's also a new website for it: http://scala-refactoring.org, my report is
> here: http://scala-refactoring.org/wp-content/uploads/scala-refactoring.pdf.
> The report might also be interesting for others that start working with the
> Scala AST, I have an Appendix that documents how the Scala AST classes are
> used.
>
> Feedback is very welcome; I'm going to continue the project in my spare time,
> so please report bugs - they will be fixed :-)
>
> Thanks,
>
> Mirko
>
> --
> Mirko Stocker | me [at] misto [dot] ch
> Work: http://ifs.hsr.ch | http://infoq.com
> Personal: http://misto.ch | http://twitter.com/m_st
>

milessabin
Joined: 2008-08-11,
User offline. Last seen 33 weeks 3 days ago.
Re: Scala Refactoring Thesis Finished

On Fri, Jul 16, 2010 at 8:02 PM, Mirko Stocker wrote:
> I just finished my master's thesis on Scala Refactoring. I developed an IDE
> independent library that uses the Scala compiler to provide refactoring
> functionality. I implemented several refactorings, but it was also my goal to
> make it easy to create new refactorings: you just have to write a tree
> transformation and the library takes care of the source code changes.
>
> The refactorings are being integrated into the Scala IDE for Eclipse (they are
> currently in a branch, but will be merged). Because the refactorings only
> depend on the Scala compiler, they could also be intergrated into other Scala
> IDEs.
>
> There's also a new website for it: http://scala-refactoring.org, my report is
> here: http://scala-refactoring.org/wp-content/uploads/scala-refactoring.pdf.
> The report might also be interesting for others that start working with the
> Scala AST, I have an Appendix that documents how the Scala AST classes are
> used.
>
> Feedback is very welcome; I'm going to continue the project in my spare time,
> so please report bugs - they will be fixed :-)

Congratulations Mirko ... you already know how fantastic I think this
stuff is :-)

Cheers,

Miles

milessabin
Joined: 2008-08-11,
User offline. Last seen 33 weeks 3 days ago.
Re: Scala Refactoring Thesis Finished

On Fri, Jul 16, 2010 at 8:02 PM, Mirko Stocker wrote:
> I just finished my master's thesis on Scala Refactoring. I developed an IDE
> independent library that uses the Scala compiler to provide refactoring
> functionality. I implemented several refactorings, but it was also my goal to
> make it easy to create new refactorings: you just have to write a tree
> transformation and the library takes care of the source code changes.
>
> The refactorings are being integrated into the Scala IDE for Eclipse (they are
> currently in a branch, but will be merged). Because the refactorings only
> depend on the Scala compiler, they could also be intergrated into other Scala
> IDEs.
>
> There's also a new website for it: http://scala-refactoring.org, my report is
> here: http://scala-refactoring.org/wp-content/uploads/scala-refactoring.pdf.
> The report might also be interesting for others that start working with the
> Scala AST, I have an Appendix that documents how the Scala AST classes are
> used.
>
> Feedback is very welcome; I'm going to continue the project in my spare time,
> so please report bugs - they will be fixed :-)

Congratulations Mirko ... you already know how fantastic I think this
stuff is :-)

Cheers,

Miles

david.bernard
Joined: 2009-01-08,
User offline. Last seen 1 year 27 weeks ago.
Re: Re: Scala Refactoring Thesis Finished

Congratulations Mirko,

I didn't read your Thesis, lot ot pages ;-), but it seems readable (by
me). I only did a quick oveview, I thought, I'll pick up usefull info.

/davidB

On Sat, Jul 17, 2010 at 00:38, Miles Sabin wrote:
> On Fri, Jul 16, 2010 at 8:02 PM, Mirko Stocker wrote:
>> I just finished my master's thesis on Scala Refactoring. I developed an IDE
>> independent library that uses the Scala compiler to provide refactoring
>> functionality. I implemented several refactorings, but it was also my goal to
>> make it easy to create new refactorings: you just have to write a tree
>> transformation and the library takes care of the source code changes.
>>
>> The refactorings are being integrated into the Scala IDE for Eclipse (they are
>> currently in a branch, but will be merged). Because the refactorings only
>> depend on the Scala compiler, they could also be intergrated into other Scala
>> IDEs.
>>
>> There's also a new website for it: http://scala-refactoring.org, my report is
>> here: http://scala-refactoring.org/wp-content/uploads/scala-refactoring.pdf.
>> The report might also be interesting for others that start working with the
>> Scala AST, I have an Appendix that documents how the Scala AST classes are
>> used.
>>
>> Feedback is very welcome; I'm going to continue the project in my spare time,
>> so please report bugs - they will be fixed :-)
>
> Congratulations Mirko ... you already know how fantastic I think this
> stuff is :-)
>
> Cheers,
>
>
> Miles
>
> --
> Miles Sabin
> tel: +44 7813 944 528
> gtalk: miles [at] milessabin [dot] com
> skype: milessabin
> http://www.chuusai.com/
> http://twitter.com/milessabin
>

david.bernard
Joined: 2009-01-08,
User offline. Last seen 1 year 27 weeks ago.
Re: Re: Scala Refactoring Thesis Finished

Congratulations Mirko,

I didn't read your Thesis, lot ot pages ;-), but it seems readable (by
me). I only did a quick oveview, I thought, I'll pick up usefull info.

/davidB

On Sat, Jul 17, 2010 at 00:38, Miles Sabin wrote:
> On Fri, Jul 16, 2010 at 8:02 PM, Mirko Stocker wrote:
>> I just finished my master's thesis on Scala Refactoring. I developed an IDE
>> independent library that uses the Scala compiler to provide refactoring
>> functionality. I implemented several refactorings, but it was also my goal to
>> make it easy to create new refactorings: you just have to write a tree
>> transformation and the library takes care of the source code changes.
>>
>> The refactorings are being integrated into the Scala IDE for Eclipse (they are
>> currently in a branch, but will be merged). Because the refactorings only
>> depend on the Scala compiler, they could also be intergrated into other Scala
>> IDEs.
>>
>> There's also a new website for it: http://scala-refactoring.org, my report is
>> here: http://scala-refactoring.org/wp-content/uploads/scala-refactoring.pdf.
>> The report might also be interesting for others that start working with the
>> Scala AST, I have an Appendix that documents how the Scala AST classes are
>> used.
>>
>> Feedback is very welcome; I'm going to continue the project in my spare time,
>> so please report bugs - they will be fixed :-)
>
> Congratulations Mirko ... you already know how fantastic I think this
> stuff is :-)
>
> Cheers,
>
>
> Miles
>
> --
> Miles Sabin
> tel: +44 7813 944 528
> gtalk: miles [at] milessabin [dot] com
> skype: milessabin
> http://www.chuusai.com/
> http://twitter.com/milessabin
>

Aydjen
Joined: 2009-08-21,
User offline. Last seen 1 year 28 weeks ago.
Re: Scala Refactoring Thesis Finished

Very exciting news. Thanks a lot for your work on this.

Am 16.07.2010 um 21:02 schrieb Mirko Stocker:

> Hi all,
>
> I just finished my master's thesis on Scala Refactoring. I developed an IDE
> independent library that uses the Scala compiler to provide refactoring
> functionality. I implemented several refactorings, but it was also my goal to
> make it easy to create new refactorings: you just have to write a tree
> transformation and the library takes care of the source code changes.
>
> The refactorings are being integrated into the Scala IDE for Eclipse (they are
> currently in a branch, but will be merged). Because the refactorings only
> depend on the Scala compiler, they could also be intergrated into other Scala
> IDEs.
>
> There's also a new website for it: http://scala-refactoring.org, my report is
> here: http://scala-refactoring.org/wp-content/uploads/scala-refactoring.pdf.
> The report might also be interesting for others that start working with the
> Scala AST, I have an Appendix that documents how the Scala AST classes are
> used.
>
> Feedback is very welcome; I'm going to continue the project in my spare time,
> so please report bugs - they will be fixed :-)
>
> Thanks,
>
> Mirko
>

Mirko Stocker
Joined: 2009-09-10,
User offline. Last seen 45 weeks 6 days ago.
Re: Scala Refactoring Thesis Finished

Hi Jason

On Friday 16 July 2010 23:23:39 Jason Zaugg wrote:
> Don't tell your reviewers, but Organize Imports is a bit trickier thanks
> to:

Oh, thanks.. I didn't know that. I created a ticket for it. Organize Imports
is very limited anway, it would be much nicer if it would analyze the
dependencies of the compilation unit..

And I'm sure there are many other bugs in the refactorings waiting to be
discovered.

Cheers

Mirko

Mirko Stocker
Joined: 2009-09-10,
User offline. Last seen 45 weeks 6 days ago.
Re: Scala Refactoring Thesis Finished

Hi Jason

On Friday 16 July 2010 23:23:39 Jason Zaugg wrote:
> Don't tell your reviewers, but Organize Imports is a bit trickier thanks
> to:

Oh, thanks.. I didn't know that. I created a ticket for it. Organize Imports
is very limited anway, it would be much nicer if it would analyze the
dependencies of the compilation unit..

And I'm sure there are many other bugs in the refactorings waiting to be
discovered.

Cheers

Mirko

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland