/
associate-assign.txt
142 lines (92 loc) · 3.6 KB
/
associate-assign.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
Date: Tue, 31 Mar 2009 12:12:34 +0100
From: Peter Knaggs <pjk@bcs.org.uk>
Newsgroups: comp.lang.forth
Subject: RfD: Assign
Message-ID: <svKdnYsWbKI6Z0zUnZ2dnUVZ8hednZ2d@posted.plusnet>
Problem
=======
When reviewing the 2VALUE and FVALUE proposals it was felt
that the text was a little weak. This was no fault of the
proposals, but rather the text they where based on, the
revised definitions of VALUE and (LOCAL).
Solution
========
It was felt that we should straighten these definition by
replacing the word "associate" with "assign". Scanning
the document, we found five words which in which we would
like to change this wording, all in new text which has
been added by the 200x process.
Proposal
========
1. ACTION-OF
Replace the first paragraph:
Skip leading spaces and parse name delimited by a
space. xt is the xt associated with name. An
ambiguous condition exists if name was not defined by
DEFER, or if the name has not been associated with an
xt yet.
with the following:
Skip leading spaces and parse name delimited by a
space. xt is the xt assigned to name. An ambiguous
condition exists if name was not defined by DEFER, or
if the name has not been assigned an xt.
Replace the first paragraph of the run time clause:
xt is the execution token associated with name when
the run-time semantics is performed. An ambiguous
condition exists if name has not been associated with
an xt yet.
with the following:
xt is the execution token assigned to name when the
run-time semantics is performed. An ambiguous
condition exists if name has not been assigned an xt.
2. DEFER
Replace the "name Execute" clause:
Execute xt associated with name. An ambiguous condition
exists if name has not been associated with an xt yet.
with:
Execute the xt assigned to name. An ambiguous condition
exists if name has not been assigned an xt.
3. DEFER@
Replace the first paragraph:
xt2 is the xt associated with the deferred word
corresponding to xt1. An ambiguous condition exists
if xt1 is not for a word defined via DEFER, or if the
deferred word has not been associated with an xt yet.
with:
xt2 is the xt assigned to the deferred word
corresponding to xt1. An ambiguous condition exists
if xt1 is not for a word defined via DEFER, or if the
deferred word has not been assigned an xt.
4. VALUE
Replace the "name Execute" clause:
Place x on the stack. The value of x is that given
when name was created, until the phrase x TO name is
executed, causing a new value of x to be associated
with name.
with:
Place x on the stack. The value of x is that given
when name was created, until the phrase x TO name is
executed, causing a new value of x to be assigned to
name.
Replace the "TO name Run-Time" clause:
Associate the value x with name.
with:
Assign the value x to name.
5. (LOCAL)
Replace the "TO local Run-Time" clause:
Associate the value x with the local value local.
with:
Assign the value x to the local value local.
6. Replace the ambiguous condition:
access to a deferred word, a word defined by DEFER,
which has yet to be associated with an xt.
with:
access to a deferred word, a word defined by DEFER,
which has not been assigned an xt.
Remarks
=======
"a xt" would be more correct english, but "an xt" reads
better.
--
Peter Knaggs
pjk@bcs.org.uk