- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
[GSOC] Self-introduction and my proposal "Advanced Semantic Tools for SDT"
Sat, 2010-04-03, 12:26
Hi, Scala community. Hi, everyone.
I am Jin Mingjian, one Phd candidate in my final term, from the Institute of Electrical Engineering, Chinese Academy of Sciences. I have proposed one GSOC project, called "Advanced Semantic Tools for the Scala IDE for Eclipse", which stems from the project idea #11 listed in [1]. I am an old man in Eclipse community. So I believe that I could contribute to the SDT(that is, Scala IDE for Eclipse) in many aspects.
For some reason, I decided to take part in this year's GSOC just about two weeks ago. I need a little time to be familiar with SDT. I have reviewed partial codes of SDT, and port SDT svn codes to work well under the Eclipse 3.6M6(latest Eclipse milestone). I've blogged some results and my thoughts here[2].
Any comments and criticisms are always welcome:) I'd like to contribute those codes. One thing is that how the SDT team think about the porting effort for the latest Eclipse. If no, I will consider to rollback my Eclipse enirvoment to R3.5 to avoid branching. If yes, I can be held responsible for the alignment with the Eclipse milestone when all dependent projects have aligned with latest Eclipse already.
I have planned 5 items, first three items of which are listed in ideas' page[1]:
1. A mechanism for showing inferred type hovers for expressions comments: this item is the one mentioned in the GSOC idea list[1]. However I think this should be redefined through some use cases. I show one basic screenshot for the type hover of current SDT. In another side, how to infer the type? using the Scala itself's type inferrer? or code a new one from scratch? 2. Visual indicators of the application of implicit conversions and the provision of implicit parameters. 3. A mechanism for transiently expanding inferred types and implicit conversion and parameters inline in source text.
By me:4. Mark Ocurrencences 5. Refactoringcomment: this is a big topic indeed:) I know someone are doing independent framework for refactoring from the recent maillist posts by Miles or others. I have some experiences refactoring support in the Eclipse IMP[3]. Although it is hard to provide the perfect solution in one summer, SDT really need refactoring to support (inter/intra)project-level modification. It will be the killing reason for the acceptance of SDT. I hope to add my little efforts if possible.
If some one has some comments on these ideas or has new ideas, please point out them. I am considering to put them into the proposal and sort them into a list with appropriate priorities. Ideally, the SDT will support all functionalities been implementated by JDT with some Scala individualities. Thanks first:)
Note: the idea of "Testing framework for semantically driven features of the Scala IDE for Eclipse" seem ok for me as well. But, as I guess, it seem in a relatively low priority. And I also consider to write some functional or integration tests when coding.
Best regards,Jin Mingjian
[1] http://www.scala-lang.org/gsoc2010[2] http://jmj-eclipse.blogspot.com/2010/04/align-scala-development-tools-with.html [3] http://www.eclipse.org/imp/
I am Jin Mingjian, one Phd candidate in my final term, from the Institute of Electrical Engineering, Chinese Academy of Sciences. I have proposed one GSOC project, called "Advanced Semantic Tools for the Scala IDE for Eclipse", which stems from the project idea #11 listed in [1]. I am an old man in Eclipse community. So I believe that I could contribute to the SDT(that is, Scala IDE for Eclipse) in many aspects.
For some reason, I decided to take part in this year's GSOC just about two weeks ago. I need a little time to be familiar with SDT. I have reviewed partial codes of SDT, and port SDT svn codes to work well under the Eclipse 3.6M6(latest Eclipse milestone). I've blogged some results and my thoughts here[2].
Any comments and criticisms are always welcome:) I'd like to contribute those codes. One thing is that how the SDT team think about the porting effort for the latest Eclipse. If no, I will consider to rollback my Eclipse enirvoment to R3.5 to avoid branching. If yes, I can be held responsible for the alignment with the Eclipse milestone when all dependent projects have aligned with latest Eclipse already.
I have planned 5 items, first three items of which are listed in ideas' page[1]:
1. A mechanism for showing inferred type hovers for expressions comments: this item is the one mentioned in the GSOC idea list[1]. However I think this should be redefined through some use cases. I show one basic screenshot for the type hover of current SDT. In another side, how to infer the type? using the Scala itself's type inferrer? or code a new one from scratch? 2. Visual indicators of the application of implicit conversions and the provision of implicit parameters. 3. A mechanism for transiently expanding inferred types and implicit conversion and parameters inline in source text.
By me:4. Mark Ocurrencences 5. Refactoringcomment: this is a big topic indeed:) I know someone are doing independent framework for refactoring from the recent maillist posts by Miles or others. I have some experiences refactoring support in the Eclipse IMP[3]. Although it is hard to provide the perfect solution in one summer, SDT really need refactoring to support (inter/intra)project-level modification. It will be the killing reason for the acceptance of SDT. I hope to add my little efforts if possible.
If some one has some comments on these ideas or has new ideas, please point out them. I am considering to put them into the proposal and sort them into a list with appropriate priorities. Ideally, the SDT will support all functionalities been implementated by JDT with some Scala individualities. Thanks first:)
Note: the idea of "Testing framework for semantically driven features of the Scala IDE for Eclipse" seem ok for me as well. But, as I guess, it seem in a relatively low priority. And I also consider to write some functional or integration tests when coding.
Best regards,Jin Mingjian
[1] http://www.scala-lang.org/gsoc2010[2] http://jmj-eclipse.blogspot.com/2010/04/align-scala-development-tools-with.html [3] http://www.eclipse.org/imp/
Fri, 2010-04-09, 14:47
#2
Re: [GSOC] Self-introduction and my proposal "Advanced Semanti
On Sat, Apr 3, 2010 at 12:25 PM, Jin Mingjian wrote:
> I am Jin Mingjian, one Phd candidate in my final term, from the Institute of
> Electrical Engineering, Chinese Academy of Sciences.
Hi Jin, sorry it's taken me so long to respond to you here ...
> I have proposed one GSOC project, called "Advanced Semantic Tools for the
> Scala IDE for Eclipse", which stems from the project idea #11 listed in [1].
> I am an old man in Eclipse community. So I believe that I could contribute to
> the SDT(that is, Scala IDE for Eclipse) in many aspects.
That's fantastic! Your contributions will be very much appreciated.
> For some reason, I decided to take part in this year's GSOC just about two
> weeks ago. I need a little time to be familiar with SDT. I have reviewed
> partial codes of SDT, and port SDT svn codes to work well under the Eclipse
> 3.6M6(latest Eclipse milestone). I've blogged some results and my thoughts
> here[2].
>
> Any comments and criticisms are always welcome:) I'd like to contribute
> those codes. One thing is that how the SDT team think about the porting
> effort for the latest Eclipse. If no, I will consider to rollback my Eclipse
> enirvoment to R3.5 to avoid branching. If yes, I can be held responsible for
> the alignment with the Eclipse milestone when all dependent projects have
> aligned with latest Eclipse already.
As I commented on your blog post, this is very helpful. I won't be
taking your patch as-is, but it's been a real time saver for me, so
thanks once again. You can expect a 3.6M6 compatible build very soon.
> I have planned 5 items, first three items of which are listed in ideas'
> page[1]:
> 1. A mechanism for showing inferred type hovers for expressions
> comments: this item is the one mentioned in the GSOC idea list[1]. However I
> think this should be redefined through some use cases. I show one basic
> screenshot for the type hover of current SDT. In another side, how to infer
> the type? using the Scala itself's type inferrer? or code a new one from
> scratch?
Yes, I would recommend using the Scala's presentation compiler for
this: essentially what we need is a mechanism for widen the textual
range for which the inferred type is required, the mechanism for
requesting the type is already present, so this is largely a UI
enhancement.
> 2. Visual indicators of the application of implicit conversions and the
> provision of implicit parameters.
I'd love to see work done on this.
> 3. A mechanism for transiently expanding inferred types and implicit
> conversion and parameters inline in source text.
Ditto.
> By me:
> 4. Mark Ocurrencences
Mark Ocurrences is a little more involved because we want this to
piggy back on the JDTs mechanism. It'd be great to see some progress
on this, but I'm not sure it's sufficiently self-contained to make a
good GSoC project.
> 5. Refactoring
> comment: this is a big topic indeed:) I know someone are doing independent
> framework for refactoring from the recent maillist posts by Miles or others.
> I have some experiences refactoring support in the Eclipse IMP[3]. Although
> it is hard to provide the perfect solution in one summer, SDT really need
> refactoring to support (inter/intra)project-level modification. It will be
> the killing reason for the acceptance of SDT. I hope to add my little
> efforts if possible.
I highly recommend contributing to Mirko Stocker's IDE independent
refactoring project. There's plenty of scope for creating interesting
refactorings based on his work, and I don't think it makes sense to
duplicate his work.
> If some one has some comments on these ideas or has new ideas, please point
> out them. I am considering to put them into the proposal and sort them into
> a list with appropriate priorities.
Of the items you've listed, I'd most like to see inferred type hovers
for expression and indication of implicits. But you should choose
whatever you find most satisfying. I strongly suggest picking
something relatively modest that you have a good chance of completing
in the available time ... from my POV one fully completed feature is
infinitely preferable to half a dozen partial attempts.
> Ideally, the SDT will support all functionalities been implementated by JDT
> with some Scala individualities. Thanks first:)
That's the goal :-)
> Note: the idea of "Testing framework for semantically driven features of the
> Scala IDE for Eclipse" seem ok for me as well. But, as I guess, it seem in a
> relatively low priority. And I also consider to write some functional or
> integration tests when coding.
Actually, I think this is pretty high priority, but granted it's maybe
not quite a glamorous or exciting as other possible projects.
Cheers,
Miles
On Sat, Apr 3, 2010 at 12:25 PM, Jin Mingjian wrote:
> I am Jin Mingjian, one Phd candidate in my final term, from the Institute of
> Electrical Engineering, Chinese Academy of Sciences.
Hi Jin, sorry it's taken me so long to respond to you here ...
> I have proposed one GSOC project, called "Advanced Semantic Tools for the
> Scala IDE for Eclipse", which stems from the project idea #11 listed in [1].
> I am an old man in Eclipse community. So I believe that I could contribute to
> the SDT(that is, Scala IDE for Eclipse) in many aspects.
That's fantastic! Your contributions will be very much appreciated.
> For some reason, I decided to take part in this year's GSOC just about two
> weeks ago. I need a little time to be familiar with SDT. I have reviewed
> partial codes of SDT, and port SDT svn codes to work well under the Eclipse
> 3.6M6(latest Eclipse milestone). I've blogged some results and my thoughts
> here[2].
>
> Any comments and criticisms are always welcome:) I'd like to contribute
> those codes. One thing is that how the SDT team think about the porting
> effort for the latest Eclipse. If no, I will consider to rollback my Eclipse
> enirvoment to R3.5 to avoid branching. If yes, I can be held responsible for
> the alignment with the Eclipse milestone when all dependent projects have
> aligned with latest Eclipse already.
As I commented on your blog post, this is very helpful. I won't be
taking your patch as-is, but it's been a real time saver for me, so
thanks once again. You can expect a 3.6M6 compatible build very soon.
> I have planned 5 items, first three items of which are listed in ideas'
> page[1]:
> 1. A mechanism for showing inferred type hovers for expressions
> comments: this item is the one mentioned in the GSOC idea list[1]. However I
> think this should be redefined through some use cases. I show one basic
> screenshot for the type hover of current SDT. In another side, how to infer
> the type? using the Scala itself's type inferrer? or code a new one from
> scratch?
Yes, I would recommend using the Scala's presentation compiler for
this: essentially what we need is a mechanism for widen the textual
range for which the inferred type is required, the mechanism for
requesting the type is already present, so this is largely a UI
enhancement.
> 2. Visual indicators of the application of implicit conversions and the
> provision of implicit parameters.
I'd love to see work done on this.
> 3. A mechanism for transiently expanding inferred types and implicit
> conversion and parameters inline in source text.
Ditto.
> By me:
> 4. Mark Ocurrencences
Mark Ocurrences is a little more involved because we want this to
piggy back on the JDTs mechanism. It'd be great to see some progress
on this, but I'm not sure it's sufficiently self-contained to make a
good GSoC project.
> 5. Refactoring
> comment: this is a big topic indeed:) I know someone are doing independent
> framework for refactoring from the recent maillist posts by Miles or others.
> I have some experiences refactoring support in the Eclipse IMP[3]. Although
> it is hard to provide the perfect solution in one summer, SDT really need
> refactoring to support (inter/intra)project-level modification. It will be
> the killing reason for the acceptance of SDT. I hope to add my little
> efforts if possible.
I highly recommend contributing to Mirko Stocker's IDE independent
refactoring project. There's plenty of scope for creating interesting
refactorings based on his work, and I don't think it makes sense to
duplicate his work.
> If some one has some comments on these ideas or has new ideas, please point
> out them. I am considering to put them into the proposal and sort them into
> a list with appropriate priorities.
Of the items you've listed, I'd most like to see inferred type hovers
for expression and indication of implicits. But you should choose
whatever you find most satisfying. I strongly suggest picking
something relatively modest that you have a good chance of completing
in the available time ... from my POV one fully completed feature is
infinitely preferable to half a dozen partial attempts.
> Ideally, the SDT will support all functionalities been implementated by JDT
> with some Scala individualities. Thanks first:)
That's the goal :-)
> Note: the idea of "Testing framework for semantically driven features of the
> Scala IDE for Eclipse" seem ok for me as well. But, as I guess, it seem in a
> relatively low priority. And I also consider to write some functional or
> integration tests when coding.
Actually, I think this is pretty high priority, but granted it's maybe
not quite a glamorous or exciting as other possible projects.
Cheers,
Miles