Van Snyder <[log in to unmask]> wrote:
...
>My first attempt at separating module specifications from module
>bodies required the procedure body to repeat all of the specifications
>of its interface, which presumably the compiler would check. This is
>the way that Modula and Ada work. I have written substantial programs
>in both languages, and have not found it burdensome to repeat procedure
>interfaces. Therefore, I was surprised to have gotten a lot of
>complaints about it. Several corresponents indicated that that feature
>alone was enough to cause them to vote against it. I got very few
>remarks that prohibiting repetition of the interface would cause one
>to vote against the paper.
>
>There appears, however, to be a growing sentiment that repeating the
>interface is the lesser of two evils. There was also some discussion at
>the last J3 meeting about allowing "benign redefinition," which in this
>context means that it would be optional whether one wishes to repeat the
>interface with the body. I am inclined toward allowing this. I am
>interested to know the inclinations of others.
My main complaint about repeating specifications in more
than one place would be if the compiler were not required
to automatically verify that they match. If the compiler is
compelled to do such verification, I would actually prefer
that specification be required in both places. This is not an
intensely felt position, and optional respecification would be
acceptable as well - indeed, so would not allowing the
information to be respecified, but it would be a third choice.
I like the submodule proposal as written. I'd like it better
with respecification permitted/required. But, if the only
way to get it passed is to leave it as-is, then that's the way
to go. To paraphrase Ben Franklin, there are several
things I don't care for in the present proposal, but it's a
good proposal, and I'm not sure that it isn't the best possible
in the circumstances.
--
J. Giles
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|