Re: Are pragmas always "instructions"? (was: Re: What is a pragma?)

Bethan Tovey-Walsh writes:

>> saying that pragmas convey information (and in particular information
>> not conveyed by the standard semantics of ixml, or not conveyed in
>> the same way) seems more general, and is intended to cover both
>> declarative and imperative semantics (and anything else).

> For my money, it’s much *too* general. Comments also convey
> information, for example.

It would indeed be much too general if offered as a definition; it does
not allow pragmas to be distinguished from other things that convey
information.  But it wasn't offered as a definition, and even the
non-definitional characterization of pragmas from which it was drawn
mentions other properties as well.  I picked out the word 'instruction'
and the phrase "convey information" to illustrate what appears at first
glance to be a striking difference in understanding.

> Firstly, I wonder whether we can help you make peace with
> “instructions”? I have two ways of looking at it that may or may not
> help:

> a) An instruction needn’t be simply a command. Think of assembly
> instructions for some furniture: it’s totally reasonable to see items
> of the type “The square peg goes into the square hole”, or “You should
> have 12 long bolts and 6 short bolts”. They’re declaratives, not
> imperatives, but I don’t think that means they’re not properly
> instructions.

I agree that declarative statements can be used to convey to someone how
to do something, but I think that most assembly instructions I have
experienced have in fact been in the imperative mood.  They did not say
"The square peg goes into the square hole"; they said "Insert peg A into
hole Q23".  But I am too lazy to go hunt up the nearest instruction book
so I can hold it up and say either Aha, triumphantly, or Wow, I didn't
expect that, with an unconvincing air of being glad to have learned
something instead of being sheepish at being refuted.

In computing, I think it will be hard to find usages of the word
"instruction" as anything but a synonym of "command", with imperative
semantics.  Documentation for languages with a strictly declarative
semantics tends to avoid "instruction" I think, in favor of "statement"
or "expression" or other terms like Prolog's "clause".  Can anyone think
of exceptions to that claim?

(Wow.  I didn't expect that: since 1.0, XSLT has referred to most of its
constructs as "instructions".  I confess my reaction at the moment is
that that verges on the bizarre, but I seem to have lived with the usage
for a long time without being bothered by it.)

Intuition being notoriously unreliable, I checked the dictionaries on my
shelf (but not the ones in the front room).  "Webster's New World
Dictionary" (World Publishing, 1968) seems to make the view you suggest
a bit of a stretch.

  1. an instructing; education.
  2. knowledge, information, etc. given or taught; any teaching; lesson.
  3. pl. directions; orders.

I take 1 and 2 to refer to the activity of instruction, not to a
concrete written message of any kind.

The Random House American College Dictionary (ed. Clarence L. Barnhart,
1948) is similar but more detailed.

  1. act or practice of instructing or teaching; education.
  2. knowledge or information imparted.
  3. an item of such knowledge or information.
  4. (usually pl.) an order or direction.
  5. act of furnishing with authoritative directions.

Here items 2 and 3 at least come a step in your direction, though I
think they are intended to describe abstract things, not pieces of
writing.

COBUILD (Collins, 1988), on the other hand, which focuses more or less
relentlessly on empirical observation of current usage ("helping
learners with REAL English", it says on the cover), is much less
sympathetic to a declarative view:

  1 An instruction is something that someone tells you or orders you do
  to.  EG I disagree with what I am doing but it is an instruction, so I
  will carry it out.
  2 Instruction in a subject or skill is teaching that someone gives you
  in it.
  3 Instructions are clear and detailed information on how to do
  something, especially in written form, EG Read the instructions before
  you switch on the engine... ... the manufacturers' instruction book.

> b) Pragmas instruct the processor. They either instruct it “to…” or
> instruct it “that…”. The former is imperative; the latter,
> declarative.

> Secondly, if “instructions” still doesn’t work for you, how about
> “directives” or “directions”?

Still feels very imperative, and off-target in roughly the same way as
"declarations" would be, only in the opposite direction. 

But since we are not drafting spec prose, I don't think we need to
persevere until we reach agreement on the word "instruction".

If you tell me that you do not mean to suggest that pragmas always have
imperative semantics, but that they can have imperative or declarative
semantics, then we appear to agree on the semantics of pragmas, at least
in broad terms, and we each have an interesting factoid about the odd
lexical semantics other people associate with the word "instruction".

But looking again at your note, I'm not sure you did tell me that you
you do not mean to suggest the pragmas always have imperative semantics
but can also have declarative semantics.  It seems to follow from your
attempt to persuade me that "instructions" can be declarative, but I've
made wrong inferences before.

-- 
C. M. Sperberg-McQueen
Black Mesa Technologies LLC
http://blackmesatech.com

Received on Saturday, 29 January 2022 19:20:46 UTC