On Mar 30, 2005, at 6:19 AM, Shajith wrote:

> Hi!
>
>>
>>         a = somemethod(1, 2, 3)
>>         a.<TAB> # what methods are available? We have an 
>> approximation of
>>                 # the classes/methods in the system, but no idea what
>>                 # `a' corresponds to.
>>                 #
>>                 # You could use "Foo.new is an 'atomic' type 
>> constraint,
>>                 # everything else bubbles up from these kind of 
>> constraints",
>>                 # but how reliable would that be?
>>
>
> What about the IDE doing eval("a.methods")? Won't that cover the
> general <expr>.<TAB> case?

But you need to execute the entire program right down to the line where 
completion is requested for that eval() return anything useful.  A 
program could have many "a" variables.  Executing the code is an 
unrealistic requirement; way too many possible external dependancies.

James Edward Gray II