> But keep in mind that auto-completion is by concepts miles away from
what you see in Java. The problem for us who try to implement this
feature is always that most people don't understand why this is
impossible in a dynamically typed language.
Not quite impossible, but very difficult. It is impossible in a
practical sense for editors that don't use a parser capable of creating
an abstract syntax tree (generally compiler.ast or the tokenizer module
are used in editors written in Python).
Furthermore, it usually involves questions like "how many levels of
imports should we deal with, and how much namespace emulation should be
done", which involves potentially expensive namespace creation,
modification, and later recreation ("from module import *" becoming
"import module" being one of them) in more than a single level of
namespace. Quite an ugly problem that you're hard-pressed to find an
editor (for dynamically typed languages) with a decent implementation.
WingIDE's method for getting past some inference checks is nifty, though
I would be a bit irked if I used autocompletion (I don't) and needed to
pepper my code with (unneeded) assert statements just to get it to work
all the time.
- Josiah