[comp.lang.ada] More HyperText Ada

munck@MBUNIX.MITRE.ORG (Bob Munck) (03/11/89)

I wasn't especially clear in my first posting about HyperText Ada, so
I'll try again.  A part of what I'd like to see is something like the
following being added to the LRM by Ada-9X:

   "A line that begins with two adjacent hyphens is assumed to
    consist of Display Postscript (reference to standard) from
    the character after the second hyphen to the next end of line
    separator that is not preceded by an escape character."

That simple (!) change would be a major step along the path I'm trying
to hack out of the undergrowth.  It would allow pictures of all kinds to
be embedded in STANDARD Ada, and would force all source processors to be
able to support them.  (My choice of Display Postscript is for example
only; the actual graphic standard would be up to the 9-X people.) 
However, it's only part of my (obscure) message.

Another hint about what I'm trying to say:  the LRM says "comments do
not influence the effect of a program; their sole purpose is the
enlightenment of the human reader."  The word "sole" there might be seen
to indicate that the designers of Ada felt that "enlightenment of the
human reader" was a relatively trivial feature.  I'm sure that they
didn't; I'm just suggesting that we take another look at facilities in
the language for "enlightenment of the human reader" with an eye to
using the technology of graphic displays, hypertext, etc. 

Like Don Knuth when he was inventing WEB, I'd like to see Ada programs
that read like a good novel, that are INTERESTING and lead the "human
reader" gently through an exposition of what the program does and how it
does it.  I think that that will require some interactive,
HyperText-like facilities to deal with the complexity of a program.  I
know that it requires diagrams, pictures, and the other razz-a-ma-tazz
(my spelling checker just croaked) of flashy desk-top publishing.

An argument could be made that Ada and every other HOL are primarily
oriented to communicating with their compiler, and only secondarily with
programmers and maintainers.  I want to invert that, so that the main
thing you do in coding is to tell another human what the program does. 
Maybe this means some kind of inversion of structure, such that the
program is mostly human text/pictures and the code is enclosed in
delimiters such as "-- ... code ... <cr>".  That idea may be too big a
step for 9-X, but it comes closest to the point I'm trying to make.

A final point is that this should be part of the Ada Standard.  A great
deal of the importance of Ada is the portability among compilers and
target processors; these "super-comments" have to be equally portable.

                 -- Bob Munck, MITRE-Washington