From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ryan Belcher

> I've never worked on an IDE before, but the topic of how you
> implement Intellisense for Ruby has always interested me.  I
> imagine it must be 100x harder to do it for Ruby than for C++
> (or maybe just use 100x more processing power).  But I'm
> thinking that the DLR must make such things much easier.  Is
> that the case?

This is really a language-specific parsing issue and is therefore outside the 
realm of the DLR.

The most basic approach for Intellisense is to extract the information from the 
ASTs, which I imagine is all that C# or VB have to do.  The next is to take the 
ASTs and transform them by removing the "dangerous" parts.  Then, you could 
actually run the simplified ASTs and introspect on the resulting object.  This 
can be made increasingly "complete" by removing less and less stuff -- at 
greater and greater risk of creating a program that won't run to completion or 
will have undesirable side effects.

To put this another way, I may need to run "initialize" in order for my object 
to express the proper methods -- but the code in "initialize" could well 
overwrite the OS for all I know.

Any class that depends on method_missing (in Ruby) or __getattr__ (in Python) 
for method implementation is going to be problematic for Intellisense.  And 
Rails' ActiveRecord is one of the most pathological cases I can imagine.

--
Curt Hagenlocher
[EMAIL PROTECTED]
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to