[IDE features]

Zuurbier, E. - AMSXE Erik.Zuurbier@KLM.NL
Tue, 2 Feb 1999 09:09:54 +0100


>You can only provide an "intensional" IDE if you stop regarding the
>textual form of a program as primary, and provide editing facilities
>that distinguish between "CHANGE INTERFACE" (so the argument order
>in the callers should change) and "CORRECT IMPLEMENTATION" (so the
>argument order in the callers should not change).

Agree. If I have in my program:
:: MyType :== (Int,Real,Int)
and I want to change that to
:: MyType = {one::Int,two::Int,three::Real}
the IDE would need to know which Int in the tuple to map on which
field of the record. So both the old and the new version of MyType
should be available to the IDE and also the cross references between them. 

>Then of course there are the changes that the IDE *cannot* figure out.

My original idea was to support tidying up a program.
So I would not strive for an IDE to support *any* change.

>If I edit a function and change the type of one of the
>parameters, what should the IDE do about the callers then?
>The best it can do is _find_ all the callers (in Interlisp:
>.EDIT WHERE ANY CALLS <function name>
>) and give you the chance to change them.

Sounds good. Does that also expose the callers in other projects?

Erik Zuurbier