Hello guys,

Last week I submitted an application for the Google Summer of Code on
the behalf of the Eclipse Foundation.
My proposal is called "Type inference for APDT" and bascically I would
like to contribute in PDT type inference engine and using it inside
PDT (please find the proposal attached).

Unfortunately and there is no PDT committers who are rating the
applications for the Summer of Code and I think PDT should be
represented.
If you would to register for the applications you would like to see
accepted, please follow the instruction of this post:
http://dev.eclipse.org/blogs/wayne/2008/03/26/apply-now-google-summer-of-code-2008/.

Also I wanted to know if there is someone from the PDT project who
would like to mentor me in case of acceptance ?

Best regards,

William

-- 
William Candillon
http://apdt.googlecode.com
 William Candillon [EMAIL PROTECTED]

Project description:
The Aspect PHP Development Tools (APDT) project provides Eclipse platform based 
tool support for AOSD with PHPAspect. Our goal is to deliver a user experience 
that is consistent with the PHP Development Tools (PDT) when working with 
PHPAspect projects and resources. This plugin provides an integration layer 
between the PHPAspect weaver, runtime and Eclipse/PDT extension points.
PHPAspect and APDT have been both created during the Google Summer of Code 
program, respectively in 2006 on behalf of the PHP community and in 2007 on 
behalf of Google.
This was also an opportunity to contribute back on the PDT project through bug 
fixes, a publication in progress and we created SmartyPDT as a showcase of PDT 
extensibility (http://smartypdt.googlecode.com).

In the effort of improving APDT and its integration with both PDT and 
PHPAspect, I would like to work on type inference for APDT.
Due to the highly dynamic nature of PHP, most of PHPAspect joinpoints can't be 
determined statically: PHPAspect weaves hooks in the source code in order to 
perform type checking at runtime.
When a project is woven, a significant amount of hooks can be inserted in the 
source even though it can statically analyzed that none of these will trigger a 
code-advice: this is where type inference comes in.
APDT and PDT have both an integration layer with DLTK (for the compiler AST) 
which as an experimental type inference framework used to improve code analysis.
The type inference could be also used to improve APDT UI by providing aspect 
type information in the editor.

Project timeline:
I will use the two weeks to review PHP type inference goals and writing test 
cases for it. The next two weeks will be used to write the missing goals and 
make sure there are compliant with the test cases.
Then I will implement weaving process getting help for type inference 
information and using xquery to perform source transformation (1 month).
The last month will be splitted in two parts.  First part is to introduce type 
information in APDT editor and UI plugin. Last part is to prepare APDT for a 
first release. This could be done with an incubation on eclipse.org under the 
wing of the PDT or AJDT project.
I would also like to take advantage of the type inference to improve code 
completion in the APDT editor but also to implement the code-advices markers, 
which is an AJDT-like feature.

Expected results:
The main benefit of this project is to improve integration between APDT and 
PDT, APDT and PHPAspect.
This would also be a great showcase for developers of dynamic language  tools 
and who are looking to implement type inference in their plugin.
The approach of getting help from type inference to implement AOP in a dynamic 
language  would be a very interesting contribution in the Aspect-Oriented 
Software Development community
With my previous Summer of Code, I gained the experience to make sure that I 
can get thinks done in the program timeframe.

About me:
I'm a 21 years-old engineering student at Telecom Lille 1, France.
To find out more about me you can check my resume: http://wcandillon.netcv.org 

APDT website: http://apdt.googlecode.com
An overview of APDT is available here: 
https://eclipsecon.greenmeetingsystems.com/attachments/download/124
PHPAspect website: http://phpaspect.org
_______________________________________________
pdt-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/pdt-dev

Reply via email to