ideas for the IDE; 'obsolete pragmas'

Erik Zuurbier erik.zuurbier@klm.nl
Mon, 6 Apr 1998 15:22:57 +0200


Rinus wrote:
>We have the following proposal: when a new version of a module is created
>we compare the types. If all types remain the same, a stored dynamic can
>refer to this new module instead of the old one. Otherwise the stored dynamic
>will remain to point to the old module containing the original definition.
>Old modules cannot be trown away if stored dynamics still refer to it.

I wrote:
>The proces of how to transfer a reference from an old version to a new version still
>sounds a bit shaky. It is not safe (type congruence is not enough to ensure that
>the application with the new module version performs as it did with the old version:
>both the semantics and all the run time behaviour could be different), (...)

> I trust that for the proces of transfering a reference from an old to a new version
>will also be given a safe approximation, possibly relying on pragma's stating the safety.

Later I found out that these two views are compatible if you adopt the follwoing convention:
'Giving a new function the same name as a certain old function would, implies the programmer's
intention that in all cases, the new function is a safe replacement of the old function.'

Name equality would be a kind of a silent pragma, so to speak.

Erik Zuurbier