comp.lang.ada
 help / color / mirror / Atom feed
From: pcg@thor.cs.aber.ac.uk (Piercarlo Grandi)
Subject: Re: What is the origin of `pragma'
Date: 8 Jul 89 21:51:44 GMT	[thread overview]
Message-ID: <PCG.89Jul8225144@thor.cs.aber.ac.uk> (raw)
In-Reply-To: dik@cwi.nl's message of 7 Jul 89 10:42:55 GMT

In article <8254@boring.cwi.nl> dik@cwi.nl (Dik T. Winter) writes:


   In article <15896@vail.ICO.ISC.COM> rcd@ico.ISC.COM (Dick Dunn) writes:
    > It may or may not have any bearing, but ALGOL 68 has a construct called a
    > "pragmat" with very similar usage.  I recall seeing it in at least one
    > other language of comparably ancient vintage, but I can't lay hands on the
    > information, and I can't recall whether it was pragma or pragmat.  ALGOL 68
    > uses a symbol "pr" as the delimiter.
    > -- 
   This is true, but it was not in the original language.  The "Report on the
   Algorithmic Language Algol 68" (1969) does not mention pragmats, the
   revised report (printed 1976, but already published earlier) does.
   I think it got into the language in the 1972-1974 timeframe.

Apart from the curiosity value of knowing where from pragma comes, let me
add:

Algol 68 does have a "compiler directive" construct, very well thought out; it
can be delimited either by ".pragma .... .pragma" or ".pr ..... .pr" (using
dot stropping).

Another language, a kind of predecessor of Ada, LIS, copied it over (do I
remember correctly?) from Algol68. In any case pragma, either via LIS or
directly, comes quite clearly to Ada from Algol68, as a few other features.

	NOTE: do you know LIS (Langage Implementation Sisteme, Level 64)
	and its influence on the design of Ada? Do you deal in Ada design
	issues? If you answered NO and YES, you might be amused by having
	a look at LIS, and then shelve the manual next to the ones for Jovial
	and Neliac :-> ...

The most interesting point is that in Algol68 pragmas were supposed to deal
with "pragmatics", which is different from "semantics", in other words no
pragmas were allowed to give a program a different meaning than that
attributed by the language definition. This is a *very* wise concept,
especially as pragmas are supposed to be compiler dependent.  I for one would
find the notion of a pragma that is not semantically neutral a contradiction
in terms... (a non semantically neutral implementation definable language
construct should be called a pandora, not a pragma :->).

Now, now, what is the situation for Ada? (before answering, have a look at
pragma shared, and at VMS Ada for comparison...).

--
Piercarlo "Peter" Grandi           | ARPA: pcg%cs.aber.ac.uk@nsfnet-relay.ac.uk
Dept of CS, UCW Aberystwyth        | UUCP: ...!mcvax!ukc!aber-cs!pcg
Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk

  reply	other threads:[~1989-07-08 21:51 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1989-06-29 12:38 What is the origin of `pragma' Freeman Moore [214]995-1901
1989-07-03 17:41 ` Scott Simpson
1989-07-06  4:17 ` Dick Dunn
1989-07-06 16:55   ` William Thomas Wolfe,2847,
1989-07-07 15:52     ` Dick Dunn
1989-07-08 22:55       ` William Thomas Wolfe,2847,
1989-07-06 20:29   ` Uri Blumenthal
1989-07-07 10:42   ` Dik T. Winter
1989-07-08 21:51     ` Piercarlo Grandi [this message]
1989-07-14 14:06       ` Edward Falis
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox