Wednesday, November 11, 2009

Pydev 1.5.1 almost there

Ok, all the planned changes for 1.5.1 are now in place and the current version already seems pretty stable, so, the current nightly build (available as an update site at http://pydev.org/nightly) will be the final version unless there's some critical bug found (so, if there's anyone interested, it'd be nice testing that version).

The major changes were:

- Improvements in the AST rewriter
- Improvements on the refactoring engine (no longer using BRM, merged with the latest PEPTIC and added/fixed lots of cases for corner-case situations)
- Improvement in the type inference engine for lists

And along that there were a good number of minor editor improvements and bug-fixes.

9 comments:

Reto said...

Hi Fabio

Really great to see the name PEPTIC again :). I have to checkout how much and what you merged from our code :).

Btw. do you remember our bachelor thesis? We enhanced the type inferencer significantly. We tried to not break too many bridges, so it should be portable back to PyDev again. Well, with quite some effort though.

http://pystructure.ifs.hsr.ch/trac/

Let us know if you have any plans to approach something like that ;).

Cheers,
Reto

Fabio Zadrozny said...

Hi Reto,

Nice to know about it. For the current release all but the current type inference engine was merged (the rename that was kept was the one in Pydev Extensions) and I have done some changes to fix a number of problems found -- and ended up creating a whole new rewriter.

But note that I did take a look at the type inference engine and have chosen not to integrate it at this point because the page mentions some problems handling inheritance and builtins (which would be a regression from what exists now).

Note that I would like to improve the type inference to a better engine, but it has to pass all the current tests (which cover lots of dark corners), so, I do keep an eye on it occasionally to see how things are evolving :)


Cheers,

Fabio

Reto said...

Hi

In our bachelor we found several 'design'-limitations of type inferences in general, but on the other hand we had completely different 'goals' for a structural analyzer. We (robin and I) discussed a lot about reintegrating it into pydev/peptic, and our conclusion was that type inference is much easier for a refactoring engine or a code completer.I think it would work pretty well, but the integration would almost be a term project itself, I fear :/. I know how difficult it is to comprehend somebody else's solution for a complex problem, it's usually easier to do it yourself.

Take a look at our test suit if you like, they shows what is possible with our inferencer.
http://pystructure.ifs.hsr.ch/trac/browser/trunk/tests/python/typeinference

We were able to cover some pretty freaky cases ;).

Man, I have to get hold of a python project, I want to test your IDE again :).

Reto

ivanoe said...

Hi Fabio

I see 1.5.1 to be downloaded already. But the zip file contains a update site, and not the extracted and ready to be used zip file of the feature/plugin. Any reason for this?

Cheers,
ivanoe

Fabio Zadrozny said...

Hi Ivanoe,

That was a problem in my release process. Thanks for the heads up. I've just removed that file and will upload a new version shortly.

Cheers,

Fabio

ivanoe said...

Great... and thanks

Fabio Zadrozny said...

Ok, just fixed. Can you check if the .zip works properly for you now?

Thanks,

Fabio

ivanoe said...

Works fine, thank you

Quran said...

Thanks for the nice blog. This is very useful and interesting.I read this and my self very appreciate with this blog. In this topic the major advantages is improvements on the re factoring engine. Thanks a lot...