ANS Forth RFI 0005: initiation semantics

This document is produced by TC X3J14 as its clarification of questions raised about ANSI X3.215-1994, American National Standard for Information Systems - Programming Languages - Forth.

The questions covered herein were raised by query

Q0005, regarding the definition of "initiation semantics".

There are four parts in this document:

1. The original question as received.
2. The TC's reply.
3. The Letter Ballot issued by TC Chair.
4. TC Chair's statement of ballot results.

## Q0005 as received

    Subject: Q0005 Request Recognized
    To: X3J14@minerva.com
    Date: Tue, 12 Sep 95 19:02:13 PDT

The following query has been assigned number Q0005 and has been tentatively assigned to Jim Rash for drafting a response. - Greg Bailey, by direction 950913 0159Z

> I can not find the definition of " Initiation [semantics]" in the " 2.1 Definitions of terms" but see this term in " 6.1.0450 :", p.30.

> Best regards, Michael

>     Michael L. Gassanenko
>     gml@ag.pu.ru

[Co-author Elizabeth Rather adds:]

You will see it in 6.1.1250 DOES> as well. This describes the behavior of a word defined by : or a DOES> word when it begins to execute. The realization that this should be specified separately came rather late in the process, and I believe you are correct that we have not defined this term adequately. I am referring your comment to the TC to see whether they feel something should be done, such as publishing a clarification.

Thank you for calling it to our attention.

## TC Reply to Q0005

    From: Elizabeth Rather
    Subject: Q0005R, Initiation Semantics, Official Response
    To: X3J14 Technical Committee
    Cc: lbarra@itic.nw.dc.us
    Date: Mon, 19 Feb 96 14:09

    Doc#:  X3J14/Q0005R
    Reference Doc#:  X3.215.1994 ANS Forth
    Date:  February 19, 1996
    Title: Response to Request for Interpretation Q0005, Initiation Semantics

> I can not find the definition of "Initiation [semantics]" in the " 2.1 Definitions of terms" but see this term in " 6.1.0450 :", p.30.

> Best regards, Michael

>     Michael L. Gassanenko
>     gml@ag.pu.ru

It is noted that the Technical Committee included, in Section 2.1 of the standard, definitions of the terms "compilation semantics" and "execution semantics".

For similar reasons, the TC agrees that the standard should also include a definition of the term "initiation semantics" in Section 2.1 Definitions of Terms:

initiation semantics:
  The behavior of a Forth definition, or of the portion of a Forth definition following DOES>, when it begins execution.

By way of further clarification, when a definition begins execution, the system may perform implementation-dependent actions such as placing items on the return stack to allow return to a calling definition. These actions are invisible to a standard program except at certain points during the execution of definitions created with : (colon) or :NONAME and during the execution of the code following DOES>. At these points, the sole visible result is the possible presence of the implementation-dependent _nest-sys_ on the return stack.

Within a given implementation, definitions created with : (colon) all have the same initiation semantics. Similarly for all definitions created with :NONAME or DOES>.

## Letter Ballot

    X3 Subgroup Letter Ballot
    Authorized by X3 Procedures - Distributed by X3 Subgroup X3J14
    Project: X3J14, ANS Forth
    Doc#:  X3J14/LB016
    Reference Doc#s:  X3J14/Q0005R, X3.215.1994 ANS Forth
    Date:  February 19, 1996
    Title: Response to Request for Interpretation Q0005, Initiation Semantics
    Ballot Period:  30 Days
    Ballot Closes NOON DATE:  March 21, 1996
    Respond to:  greg@minerva.com
            or:  Elizabeth D. Rather, Chair
                 FORTH, Inc.
                 111 N. Sepulveda Blvd.  Suite 300
                 Manhattan Beach, CA  90266
                 (310) 372-8493    FAX (310) 318-7130
                 erather@forth.com

    Statement:
        Document X3J14/Q0005R contains a proposed Response to Request for
        Interpretation Q0005.

    Question:
        Do you agree that this response represents the intended interpretation of
        X3.215.1994 ANS Forth?

    /------------------------  begin response area----------------------\
    |
    |  YES____ NO____ ABSTAIN____
    |
    |  Signature:  [not required for email ballots]
    |  Name:
    |  Organization:
    |
    |  Explanation (REQUIRED for NO or ABSTAIN votes):
    |
    \------------------------  end response area  ----------------------/

    INSTRUCTIONS:
    Please return the entire letter ballot with your response _either_ by email
    to greg@minerva.com _or_ by regular mail or fax or email to me at the above
    address, before the closing date & time.

       If replying electronically PLEASE edit only within the response area
       indicated above, inserting any explanatory text in place of .
       Any changes made outside that area will likely be overlooked.

    All TC members must vote.  Failure to vote in two consecutive ballots may
    cause you to lose your voting rights in X3J14.

    Thank you for your participation.

    Elizabeth D. Rather, Chair, X3J14

## Results of Letter Ballot

    Letter ballot 16 closed at noon March 21 with the following results:

            Y  N  A NV
    LB16:  10, 1, 1, 2

    "No" vote on LB16 from L. Zettel, with the following comment:

       | I agree with the explanation given for the meaning of "initiation
       | semantics" and with the explanation for the committee's intent in
       | the language of the standard.
       |
       | I do not agree with the declaration of intent to add a formal
       | definition of "initiation semantics" to the Standard.
       |
       |>From: JEThomas@ix.netcom.com (Jonah Thomas)
       |
       |>What the original document said, in 3.4.3 Semantics, was 'The terms
       |>"initiation semantics" and "run-time semantics" refer to definition
       |>fragments, and have meaning only within the individual glossary
       |>entries where they appear.'

    Abstention from John Hayes.