Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #40881 > unrolled thread
| Started by | "Alex McDonald" <blog@rivadpm.com> |
|---|---|
| First post | 2015-07-28 21:22 +0100 |
| Last post | 2015-08-01 15:15 -0700 |
| Articles | 20 on this page of 114 — 15 participants |
Back to article view | Back to comp.lang.forth
RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-28 21:22 +0100
Re: RfD: Quotations anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-29 07:35 +0000
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-29 14:20 +0100
Re: RfD: Quotations Ron Aaron <rambamist@gmail.com> - 2015-07-29 13:44 +0300
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-29 13:42 +0100
Re: RfD: Quotations Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-29 05:35 -0700
Re: RfD: Quotations anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-29 13:34 +0000
Re: RfD: Quotations Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-29 07:35 -0700
Re: RfD: Quotations anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-29 15:05 +0000
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-29 16:19 +0100
Re: RfD: Quotations Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-07-29 21:48 +0100
Re: RfD: Quotations mhx@iae.nl - 2015-07-29 11:13 -0700
Re: RfD: Quotations anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-30 13:04 +0000
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-29 15:07 +0100
Re: RfD: Quotations Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-29 07:44 -0700
Re: RfD: Quotations anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-29 15:12 +0000
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-29 16:18 +0100
Re: RfD: Quotations Bernd Linsel <bl1@gmx.com> - 2015-07-29 18:37 +0200
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-29 17:55 +0100
Re: RfD: Quotations "Elizabeth D. Rather" <erather@forth.com> - 2015-07-29 19:51 -0500
Re: RfD: Quotations Bernd Linsel <bl1@gmx.com> - 2015-07-30 03:31 +0200
Re: RfD: Quotations hughaguilar96@gmail.com - 2015-07-29 19:30 -0700
Re: RfD: Quotations Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-29 21:19 -0700
Re: RfD: Quotations Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-29 21:37 -0700
Re: RfD: Quotations anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-30 11:45 +0000
Re: RfD: Quotations Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-30 08:07 -0700
Re: RfD: Quotations anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-31 10:54 +0000
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-31 12:48 +0100
Re: RfD: Quotations Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-31 05:40 -0700
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-31 14:46 +0100
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-31 14:50 +0100
Re: RfD: Quotations anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-31 14:46 +0000
Re: RfD: Quotations hughaguilar96@gmail.com - 2015-07-31 13:16 -0700
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-31 21:49 +0100
Re: RfD: Quotations hughaguilar96@gmail.com - 2015-07-29 22:42 -0700
Re: RfD: Quotations "Elizabeth D. Rather" <erather@forth.com> - 2015-07-30 08:46 -0500
Re: RfD: Quotations Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-29 21:40 -0700
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-30 10:01 +0100
Re: RfD: Quotations Bernd Linsel <bl1@gmx.com> - 2015-07-30 12:00 +0200
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-30 11:10 +0100
Re: RfD: Quotations Coos Haak <chforth@hccnet.nl> - 2015-07-30 16:35 +0200
Re: RfD: Quotations anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-29 16:53 +0000
Re: RfD: Quotations Bernd Linsel <bl1@gmx.com> - 2015-07-29 19:03 +0200
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-29 18:24 +0100
Re: RfD: Quotations Bernd Linsel <bl1@gmx.com> - 2015-07-30 01:38 +0200
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-30 09:10 +0100
Re: RfD: Quotations Bernd Linsel <bl1@gmx.com> - 2015-07-30 12:06 +0200
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-30 11:21 +0100
Re: RfD: Quotations Bernd Linsel <bl1@gmx.com> - 2015-07-30 14:00 +0200
Re: RfD: Quotations franck.bensusan@gmail.com - 2015-07-30 06:59 -0700
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-31 10:53 +0100
Re: RfD: Quotations Paul Rubin <no.email@nospam.invalid> - 2015-07-29 10:35 -0700
Re: RfD: Quotations Bernd Linsel <bl1@gmx.com> - 2015-07-30 01:45 +0200
Re: RfD: Quotations Bernd Linsel <bl1@gmx.com> - 2015-07-30 03:17 +0200
Re: RfD: Quotations hughaguilar96@gmail.com - 2015-07-29 19:21 -0700
Re: RfD: Quotations Paul Rubin <no.email@nospam.invalid> - 2015-07-29 23:04 -0700
Re: RfD: Quotations Bernd Linsel <bl1@gmx.com> - 2015-07-30 12:38 +0200
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-30 12:09 +0100
Re: RfD: Quotations Bernd Linsel <bl1@gmx.com> - 2015-07-30 13:26 +0200
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-31 09:47 +0100
Re: RfD: Quotations Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-31 02:51 -0700
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-31 11:21 +0100
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-30 09:11 +0100
Re: RfD: Quotations Paul Rubin <no.email@nospam.invalid> - 2015-07-29 11:36 -0700
Re: RfD: Quotations Paul Rubin <no.email@nospam.invalid> - 2015-07-29 11:37 -0700
Re: RfD: Quotations anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-30 13:07 +0000
Re: RfD: Quotations Bernd Linsel <bl1@gmx.com> - 2015-07-30 16:25 +0200
Re: RfD: Quotations mhx@iae.nl - 2015-07-29 11:16 -0700
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-29 20:27 +0100
Re: RfD: Quotations Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-07-29 21:57 +0100
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-29 22:48 +0100
Re: RfD: Quotations Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-07-31 12:34 +0100
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-31 13:00 +0100
Re: RfD: Quotations anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-31 14:31 +0000
Re: RfD: Quotations mhx@iae.nl - 2015-07-31 11:32 -0700
Re: RfD: Quotations mhx@iae.nl - 2015-07-29 21:42 -0700
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-30 09:57 +0100
Re: RfD: Quotations hughaguilar96@gmail.com - 2015-07-29 17:21 -0700
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-30 09:56 +0100
Re: RfD: Quotations franck.bensusan@gmail.com - 2015-07-30 04:15 -0700
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-30 12:30 +0100
Re: RfD: Quotations franck.bensusan@gmail.com - 2015-07-30 05:04 -0700
Re: RfD: Quotations hughaguilar96@gmail.com - 2015-07-30 13:07 -0700
Re: RfD: Quotations hughaguilar96@gmail.com - 2015-07-29 16:52 -0700
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-30 09:53 +0100
Re: RfD: Quotations Bernd Paysan <bernd.paysan@gmx.de> - 2015-07-30 21:45 +0200
Re: RfD: Quotations hughaguilar96@gmail.com - 2015-07-30 13:25 -0700
Re: RfD: Quotations Julian Fondren <ayrnieu@gmail.com> - 2015-07-30 15:11 -0700
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-31 09:11 +0100
Re: RfD: Quotations Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-07-31 12:04 +0100
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-30 22:51 +0100
Re: RfD: Quotations hughaguilar96@gmail.com - 2015-07-30 22:38 -0700
Re: RfD: Quotations "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-07-31 02:10 -0400
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-31 09:01 +0100
Re: RfD: Quotations hughaguilar96@gmail.com - 2015-08-01 14:59 -0700
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-08-01 23:36 +0100
Re: RfD: Quotations Bernd Paysan <bernd.paysan@gmx.de> - 2015-08-02 01:19 +0200
Re: RfD: Quotations hughaguilar96@gmail.com - 2015-08-01 18:27 -0700
Re: RfD: Quotations hughaguilar96@gmail.com - 2015-08-09 14:34 -0700
Re: RfD: Quotations anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-31 08:52 +0000
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-31 11:57 +0100
Re: RfD: Quotations Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-07-31 21:42 +0100
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-07-31 22:25 +0100
Re: RfD: Quotations Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-07-31 23:39 +0100
Re: RfD: Quotations Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-08-01 10:59 +0100
Re: RfD: Quotations anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-08-01 14:18 +0000
Re: RfD: Quotations Bernd Paysan <bernd.paysan@gmx.de> - 2015-08-01 22:10 +0200
Re: RfD: Quotations anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-08-02 05:36 +0000
Re: RfD: Quotations Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-08-03 16:40 +0100
Re: RfD: Quotations "Alex McDonald" <blog@rivadpm.com> - 2015-08-03 18:02 +0100
Re: RfD: Quotations Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-08-03 20:22 +0100
Re: RfD: Quotations Coos Haak <chforth@hccnet.nl> - 2015-08-04 02:10 +0200
Re: RfD: Quotations Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-08-04 08:49 +0100
Re: RfD: Quotations hughaguilar96@gmail.com - 2015-08-01 15:15 -0700
Page 5 of 6 — ← Prev page 1 2 3 4 [5] 6 Next page →
| From | "Alex McDonald" <blog@rivadpm.com> |
|---|---|
| Date | 2015-07-30 12:30 +0100 |
| Message-ID | <mpd1q3$pe6$1@dont-email.me> |
| In reply to | #40959 |
on 30/07/2015 12:15:41, wrote: > Le jeudi 30 juillet 2015 10:56:22 UTC+2, Alex McDonald a écrit : > >> My implementation meets the requirements of the proposed RfD. >> *Additionally*, it allows referring to the parent's locals. This is not >> contradictory. > > Hello, > > If Hugh, Raimond and you have implemented access to parent local why > not pr opose > this into the RFD ? There is a limited case where this works. It does not work where quotations are allowed access to the outer locals and the quotation is executed outside of the enclosing scope. This is the domain of closures, and I am not proposing closures as they (in the main) require complex GC. > > btw, what is called "ambiguous" into the RFD is ... ambiguous to me... > > RFD only talks about quotations executed when locals are no more alive > to conclude that this is ambiguous to refer to parent locals. > > Is this ambiguity only apply to this case or, if this RFD becomes > standard, will a programm with a quotation that refer to parent locals > while remainin g > into the parent scope will be standard or not ? Will it be a portable > progr am ? > > If yes, it should be explicitly written that this case is allowed and > MUST be > supported. > > If no, what you mean is that, no matter why, a quotation SHOULD NOT > refer to parent locals to be standard and portable, not that this is > an ambiguous condition. You have two ways of expressing this above. In one, you say "MUST". In the other, you say "SHOULD NOT"; that is where the ambguity lies, otherwise you would have said "MUST NOT". > > Imo, this should be stated into the RFD without... ambiguity... no ? How would you word it and not restrict the implementor? > > Franck. > >
[toc] | [prev] | [next] | [standalone]
| From | franck.bensusan@gmail.com |
|---|---|
| Date | 2015-07-30 05:04 -0700 |
| Message-ID | <0a3ef04e-8c7f-41b1-8e32-5ecf4268d224@googlegroups.com> |
| In reply to | #40961 |
Le jeudi 30 juillet 2015 13:30:42 UTC+2, Alex McDonald a écrit : > on 30/07/2015 12:15:41, wrote: > > Le jeudi 30 juillet 2015 10:56:22 UTC+2, Alex McDonald a écrit : > > > >> My implementation meets the requirements of the proposed RfD. > >> *Additionally*, it allows referring to the parent's locals. This is not > >> contradictory. > > > > Hello, > > > > If Hugh, Raimond and you have implemented access to parent local why > > not pr opose > > this into the RFD ? > > There is a limited case where this works. It does not work where > quotations are allowed access to the outer locals and the quotation is > executed outside of the enclosing scope. This is the domain of closures, > and I am not proposing closures as they (in the main) require complex GC. > > > > > btw, what is called "ambiguous" into the RFD is ... ambiguous to me... > > > > RFD only talks about quotations executed when locals are no more alive > > to conclude that this is ambiguous to refer to parent locals. > > > > Is this ambiguity only apply to this case or, if this RFD becomes > > standard, will a programm with a quotation that refer to parent locals > > while remainin g > > into the parent scope will be standard or not ? Will it be a portable > > progr am ? > > > > If yes, it should be explicitly written that this case is allowed and > > MUST be > > supported. > > > > If no, what you mean is that, no matter why, a quotation SHOULD NOT > > refer to parent locals to be standard and portable, not that this is > > an ambiguous condition. > > You have two ways of expressing this above. In one, you say "MUST". In > the other, you say "SHOULD NOT"; that is where the ambguity lies, > otherwise you would have said "MUST NOT". > > > > > Imo, this should be stated into the RFD without... ambiguity... no ? > > How would you word it and not restrict the implementor? > > > > > Franck. > > > > I understand, but, if an implementor wants to implement a feature that is not into a standard he can do it, and he must say to its users that, if they use it, their program will not be portable among other compilers because this is not a standard feature. After, it is their choice to use it or not. But, if the standard allows this, all implementors MUST implement it to be conform to standard and all programs that use it will be portable. This should not be ambiguous. If your idea in this RFD is that access to parent local is not portable, it should not be allowed by the standard. otoh, if your idea is that it is portable to refer to parent local while the quotation remains into the parent scope, it should be stated that this case must be supported by Forth compilers to be standard. What will happen if someone writes a program he think is portable but an implementor say : no, not portable, you didn't read the "ambiguous part"... ? Franck.
[toc] | [prev] | [next] | [standalone]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2015-07-30 13:07 -0700 |
| Message-ID | <f34a8404-f511-4dc3-88e6-78ad6752a57d@googlegroups.com> |
| In reply to | #40964 |
On Thursday, July 30, 2015 at 5:04:46 AM UTC-7, franck....@gmail.com wrote: > ...if an implementor wants to implement a feature that is not > into a standard he can do it, and he must say to its users that, if they use > it, their program will not be portable among other compilers because this is > not a standard feature. After, it is their choice to use it or not. > > But, if the standard allows this, all implementors MUST implement it to be > conform to standard and all programs that use it will be portable. > This should not be ambiguous. > > If your idea in this RFD is that access to parent local is not portable, > it should not be allowed by the standard. > > otoh, if your idea is that it is portable to refer to parent local while the > quotation remains into the parent scope, it should be stated that this > case must be supported by Forth compilers to be standard. > > What will happen if someone writes a program he think is portable but an > implementor say : no, not portable, you didn't read the "ambiguous part"... ? > > Franck. Yes, the standard is supposed to standardize. The ANS-Forth standard often says that one thing is legal or another thing is legal --- but they are contradictory and any program that assumes a compiler that does one thing will not work on a compiler that does the other thing, although both compilers are ANS-Forth compliant. All of this wishy-washy this-or-that nonsense comes from political concessions. Various people wanted their compiler to be ANS-Forth compliant, so Elizabeth Rather told each of them: "Your compiler is ANS-Forth compliant!" She is like a fairy godmother who taps people on the head with her magic wand and blesses them with ANS-Forth compliance (bing!). None of the people's compilers were compatible with each other however... Elizabeth Rather wanted to get as many people signed onto ANS-Forth as possible before submitting ANS-Forth to ANSI because a long list of contributors is what ANSI wants before they rubber-stamp a submission. Ultimately, she knew that ANS-Forth is a cult not a language and the only way that anybody can be an ANS-Forth programmer is by brown-nosing her and getting her blessing. ANS-Forth was submitted to ANSI and became the standard without a reference compiler having ever been written. It wouldn't be until 1997 that Forth Inc. wrote an ANS-Forth compiler, and it was so bug-ridden as to be totally useless. None of the ANS-Forth cult members cared --- their concern was entirely with brown-nosing Elizabeth Rather so that she would say they were ANS-Forth programmers (bing!) --- they didn't need a compiler to do this, and the existence of a compiler would have made them look foolish because all the glaring inconsistencies and ambiguities would have become apparent the first time that anybody tried to write a program.
[toc] | [prev] | [next] | [standalone]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2015-07-29 16:52 -0700 |
| Message-ID | <1bdf48e4-0f64-486b-b9be-e867b9dd7282@googlegroups.com> |
| In reply to | #40881 |
On Tuesday, July 28, 2015 at 1:22:17 PM UTC-7, Alex McDonald wrote: > Locals: A quotation may not be able to access the locals of the outer > word because it has no knowledge of when it might be executed and > hence whether outer locals are still alive. It does permit defining and > accessing its own locals. I describe a processor that supports quotations that have access to the locals of the parent function: http://www.forth.org/FMITE.txt In section-16 I describe how the quotation can determine if the parent function has exited (it would abort in this case as it is not allowed to execute a quotation after the parent has exited). I think that it is a very bad idea to standardize these Payson-faked quotations --- this makes the entire Forth community look stupid --- people are going to decline to read about my FMITE because they will assume that it is yet-another implementation of Payson-faked quotations, and so I get blamed for Payson-fakery although I am innocent (the Payson-faked quotations are primarily why I left Forth-200x; that plus Elizabeth Rather was lying about my general-purpose data-structures in the novice-package, which is a related issue). If you don't know how to implement quotations (you obviously don't), then just ignore the issue of quotations --- faking up :NONAME as a quotation tends to make everybody look stupid --- just leave quotations to me, as I know what quotations are, and stop faking it!
[toc] | [prev] | [next] | [standalone]
| From | "Alex McDonald" <blog@rivadpm.com> |
|---|---|
| Date | 2015-07-30 09:53 +0100 |
| Message-ID | <mpcoii$osl$1@dont-email.me> |
| In reply to | #40927 |
on 30/07/2015 00:52:24, wrote:
> On Tuesday, July 28, 2015 at 1:22:17 PM UTC-7, Alex McDonald wrote:
>> Locals: A quotation may not be able to access the locals of the outer
>> word because it has no knowledge of when it might be executed and
>> hence whether outer locals are still alive. It does permit defining and
>> accessing its own locals.
>
> I describe a processor that supports quotations that have access to
> the loc als of the parent function: http://www.forth.org/FMITE.txt
> In section-16 I describe how the quotation can determine if the parent
> func tion has exited (it would abort in this case as it is not allowed
> to execut e a quotation after the parent has exited).
I have several issues with the mechanism you propose.
1. The check is a run time as opposed to compile time check. It has to be
executed every time the quotation is executed. It is not lightweight,
unlike the use cases for the body of a quotation antcipated by the RfD.
2. Partial execution leads to inconsistent and difficult recovery. A one
pass compiler can only insert the check at the point where the first
local is referred to or used. For example,
: foo {: aval :} [: true globval ! aval . ;] ...
would first modify GLOBVAL and then do the check on execution scope.
3. A quotation that contains a reference to an outer local must always
fail when out of scope at run time, even though the local can't be
referenced.
0 constant bar
: foo {: aval :} [: bar if aval else 10 then ;] ;
20 foo execute
4. Imbedded quotations throw up a number of other questions.
: foo {: aval :} [: ( Q1 ) {: bval :} [: ( Q2 ) aval ;] ;] ;
In your scheme, it seems to be possible to validly execute Q1 outside of
FOO since it has no reference to AVAL. The imbedded quotation Q2 is in
the execution scope of Q1, and contains a reference to the out of
execution scope AVAL defined in FOO. It is not clear to me how this might
work.
>
> If you don't know how to implement quotations (you obviously don't),
> then j ust ignore the issue of quotations --- faking up :NONAME as a
> quotation ten ds to make everybody look stupid --- just leave
> quotations to me, as I know what quotations are, and stop faking it!
>
There are, of course, opinions on the subject of what we're calling
quotations; and ths RfD is the first attempt to formalise them. There are
no criteria currently by which one might judge a quotation as fake.
[toc] | [prev] | [next] | [standalone]
| From | Bernd Paysan <bernd.paysan@gmx.de> |
|---|---|
| Date | 2015-07-30 21:45 +0200 |
| Message-ID | <mpdupl$e5f$1@dont-email.me> |
| In reply to | #40881 |
Alex McDonald wrote: > It is not possible to define quotations in ISO Forth. The following > is an outline definition. > > : [: ( -- c: nested-sys ) > postpone ahead :noname ; immediate > > : ;] ( c: nested-sys -- ) ( -- xt ) > postpone ; postpone then ; immediate If you want to use an outline definition, at least try to get the "add runtime" right: : [: ( -- c:quotation-sys ) postpone ahead save-definition-state :noname ; immediate : ;] ( c:quotation-sys -- ) ( -- xt ) postpone ; >r restore-definition-state postpone then r> postpone literal ; immediate I'd write "a standard programm may not access local variables of the outer definition inside the quotation" instead of the ambiguous condition. Many ambiguous conditions are simple error cases (and therefore, quality implementations should produce an error), but in this case, you want to deliberately allow non-standard programs on non-standard systems to access the outer local variables. Wether that's a good idea is part of the debate, and IMHO there's too much debate in that direction. Quotations are some simple syntactic sugar for higher order functions, nothing more. And the first-class element to pass things in Forth is the stack, not outer locals. My use of quotations like [: foo ; comp: bar ;] would indicate that a quotation-sys is (and must be) actually a ( c:nest c:colon ) pair (or triple, including the orig from AHEAD), but that use can be non-standard, too, like the access to outer locals. Reference implementations, even incomplete, like the above (leaving save- definition-state and restore-definition-state to the implementer) are usually used as inspiration for both implementations and use. -- Bernd Paysan "If you want it done right, you have to do it yourself" net2o ID: kQusJzA;7*?t=uy@X}1GWr!+0qqp_Cn176t4(dQ* http://bernd-paysan.de/
[toc] | [prev] | [next] | [standalone]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2015-07-30 13:25 -0700 |
| Message-ID | <4240ad80-87a4-4f31-ad22-17219c5ce92a@googlegroups.com> |
| In reply to | #40978 |
On Thursday, July 30, 2015 at 12:45:24 PM UTC-7, Bernd Paysan wrote: > I'd write "a standard programm may not access local variables of the outer > definition inside the quotation" instead of the ambiguous condition. Many > ambiguous conditions are simple error cases (and therefore, quality > implementations should produce an error), but in this case, you want to > deliberately allow non-standard programs on non-standard systems to access > the outer local variables. You want to standardize the Payson-faked quotations --- you want to hold the entire Forth community down at your level of incompetence --- anybody who implements quotations correctly will be denounced as non-standard. > Wether that's a good idea is part of the debate, and IMHO there's too much > debate in that direction. Quotations are some simple syntactic sugar for > higher order functions, nothing more. And the first-class element to pass > things in Forth is the stack, not outer locals. The quotation is not the higher-order function --- the higher-order function is the function that executes the xt of the quotation that was passed into it as a parameter --- the quotation is an anonymous function that was defined inside of a parent function and which has access to the parent function's local variables. You don't know the difference between a quotation and a higher-order function --- you are an ignoramus --- you really don't know anything about the subject, so you just fake it. > Bernd Paysan > "If you want it done right, you have to do it yourself" If you want it done right, you have to abandon ANS-Forth and adopt FMITE and LOTD instead (http://www.forth.org/FMITE.txt).
[toc] | [prev] | [next] | [standalone]
| From | Julian Fondren <ayrnieu@gmail.com> |
|---|---|
| Date | 2015-07-30 15:11 -0700 |
| Message-ID | <f5dbb032-82be-48e8-810a-e7318ef0fd58@googlegroups.com> |
| In reply to | #40981 |
On Thursday, July 30, 2015 at 3:25:04 PM UTC-5, hughag...@gmail.com wrote:
> On Thursday, July 30, 2015 at 12:45:24 PM UTC-7, Bernd Paysan wrote:
> > Quotations are some simple syntactic sugar for
> > higher order functions, nothing more.
>
> You don't know the difference between a quotation and a higher-order function --- you are an ignoramus ---
It gets worse. I just opened the gforth manual to a random page,
http://www.complang.tuwien.ac.at/forth/gforth/Docs-html/Files-Tutorial.html#Files-Tutorial
"1. Opened an ASCII text file for input "
the gforth developers think that files are *input*!! They don't know the
difference between a file and the entire concept of a program accepting
data somehow!! Do they think that zfs is an innovative input system!?
"2. Opened a file for output "
LOL WHAT LUNATICS. They simultaneously think that files are *output*!
It'd be bad enough if they literally didn't know what a file, input, or
output was, but they also believe that things are their own opposites!
> On Thursday, July 30, 2015 at 12:45:24 PM UTC-7, Bernd Paysan wrote:
> > Quotations are some simple syntactic sugar for
> > higher order functions, nothing more.
The reasonable alternatives to this are "nothing" and "lambdas, with real
lexical scoping and garbage collection". The former has a lot of
proponents, and code that uses quotations can easily be changed to no
longer use quotations, if it's ported to a Forth without them. Although
it's probably only slightly harder (less code to change; more
understanding required, of the environment) to add support for such
quotations on any Forth that such code is ported to. The latter have few
proponents, are enormously more involved to implement, and for all the
trouble, you don't get much more from them. There are lots of cute things
you can do with lambdas, but Forth can generally already do those things
with less handwaving. All you get, and what the hardworking sub-lambda
people are content with achieving, is that your higher-order words can be
less disciplined about the stack that they present to the quotations they
accept. You get to have a messy stack. You have to use locals in dozens
of different words instead of just *once* in the higher-order word. How
useful.
Standardizing quotations would mean standardizing something that's already
a few lines of code in any reasonable Forth (it seems like). It's in the
wild, it's easy to spread, people might like to definitively know what
they can do with such things.
Although, speaking of the standard, right now, as far as I know, zero
systems implement {: :} , and actually call it that. Just as one example,
in a group where people repeatedly cite *user* non-adoption of that
spelling as an argument against it. Are Forth implementers really
interested in following Forth-200x?
And yeah, I cringed when the dynamically scoped variables were proposed in
this thread, and defended as sufficiently like lexical variables. Just
use bloody VARIABLEs and write a dynamic-set , as recently described. If
dynamic-set is spelled !! , then your 'locals' can be replaced with
VARIABLE a VARIABLE b
: blah ...
[: a !! b !! a b + a ! a @ do-something b more-manipulations
\ at the end of this quotation, a and b's values are reset
;] ... ;
i.e., the perl4-style local() instead of the newer my().
-- Julian
[toc] | [prev] | [next] | [standalone]
| From | "Alex McDonald" <blog@rivadpm.com> |
|---|---|
| Date | 2015-07-31 09:11 +0100 |
| Message-ID | <mpfahd$ld3$1@dont-email.me> |
| In reply to | #40985 |
on 30/07/2015 23:11:28, Julian Fondren wrote:
>
> Although, speaking of the standard, right now, as far as I know, zero
> systems implement {: :} , and actually call it that. Just as one
Mine does, but it has a user base of 1.
[toc] | [prev] | [next] | [standalone]
| From | Gerry Jackson <gerry@jackson9000.fsnet.co.uk> |
|---|---|
| Date | 2015-07-31 12:04 +0100 |
| Message-ID | <mpfkld$nuv$1@dont-email.me> |
| In reply to | #41000 |
On 31/07/2015 09:11, Alex McDonald wrote:
> on 30/07/2015 23:11:28, Julian Fondren wrote:
>
>>
>> Although, speaking of the standard, right now, as far as I know, zero
>> systems implement {: :} , and actually call it that. Just as one
>
> Mine does, but it has a user base of 1.
>
Mine too, but I have { too. Also a user base of 1.
Did all the systems that implemented { ... } for locals that are quoted
as common practice have the functionality of {: i.e.
Syntax is : foo ... {: <args>* [| <vals>*] [-- <out>*] :} ... ;
<arg>s are initialised from the data stack
<val>s are uninitialised
<out>s are ignored (treated as a comment)
I suspect not, in which case the addition of {: into the standard is
justified if the above functionality is wanted by sufficent people.
Incidentally {: is tested in the ANS/Forth 2012 test suite available on
MPE's FLAG
--
Gerry
[toc] | [prev] | [next] | [standalone]
| From | "Alex McDonald" <blog@rivadpm.com> |
|---|---|
| Date | 2015-07-30 22:51 +0100 |
| Message-ID | <mpe65k$bad$1@dont-email.me> |
| In reply to | #40978 |
on 30/07/2015 20:45:18, Bernd Paysan wrote: > Alex McDonald wrote: > >> It is not possible to define quotations in ISO Forth. The following >> is an outline definition. >> >> : [: ( -- c: nested-sys ) >> postpone ahead :noname ; immediate >> >> : ;] ( c: nested-sys -- ) ( -- xt ) >> postpone ; postpone then ; immediate > > If you want to use an outline definition, at least try to get the "add > runtime" right: > >: [: ( -- c:quotation-sys ) > postpone ahead save-definition-state :noname ; immediate >: ;] ( c:quotation-sys -- ) ( -- xt ) > postpone ; >r restore-definition-state > postpone then r> postpone literal ; immediate Yes. Anton has already addressed this point and I replied to say that I'll update shortly in a second draft. > > I'd write "a standard programm may not access local variables of the > outer definition inside the quotation" instead of the ambiguous > condition. Many ambiguous conditions are simple error cases (and > therefore, quality implementations should produce an error), but in > this case, you want to deliberately allow non-standard programs on > non-standard systems to access the outer local variables. By MAY NOT I presume you mean (in the spirit of https://www.ietf.org/rfc/rfc2119.txt) SHOULD NOT. > > Wether that's a good idea is part of the debate, and IMHO there's too > much debate in that direction. Quotations are some simple syntactic > sugar for higher order functions, nothing more. And the first-class > element to pass things in Forth is the stack, not outer locals. Agreed. However, there's a (admittedly remote) chance that the conversation may turn up something of interest. > > My use of quotations like [: foo ; comp: bar ;] would indicate that a > quotation-sys is (and must be) actually a ( c:nest c:colon ) pair (or > triple, including the orig from AHEAD), but that use can be > non-standard, too, like the access to outer locals. > Best as quotation-sys (which will be changed from the current nest-sys in the original post). > Reference implementations, even incomplete, like the above (leaving > save- definition-state and restore-definition-state to the > implementer) are usually used as inspiration for both implementations > and use. >
[toc] | [prev] | [next] | [standalone]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2015-07-30 22:38 -0700 |
| Message-ID | <83796b93-b3cb-40ed-9d18-4b3e9cc2f990@googlegroups.com> |
| In reply to | #40984 |
On Thursday, July 30, 2015 at 2:51:16 PM UTC-7, Alex McDonald wrote: > on 30/07/2015 20:45:18, Bernd Paysan wrote: > > Wether that's a good idea is part of the debate, and IMHO there's too > > much debate in that direction. Quotations are some simple syntactic > > sugar for higher order functions, nothing more. And the first-class > > element to pass things in Forth is the stack, not outer locals. > > Agreed. However, there's a (admittedly remote) chance that the > conversation may turn up something of interest. The reason why Bernd Payson and Alex McDonald believe that all this debate is a waste of time, is because they already know that the Payson-faked quotations are going to go into Forth-200x --- they know this because they asked Leon Wagner for permission and he gave it to them; this is what is ultimately necessary to get anything into Forth-200x. Anybody who debates what should go into Forth-200x is making a complete fool of himself --- just ask Leon Wagner what your opinion should be, and he will tell you --- but you make a fool out of yourself by offering your opinion as if it were worth anything to him.
[toc] | [prev] | [next] | [standalone]
| From | "Rod Pemberton" <boo@fasdfrewar.cdm> |
|---|---|
| Date | 2015-07-31 02:10 -0400 |
| Message-ID | <op.x2mjfefeyfako5@localhost> |
| In reply to | #40996 |
On Fri, 31 Jul 2015 01:38:39 -0400, <hughaguilar96@gmail.com> wrote: > On Thursday, July 30, 2015 at 2:51:16 PM UTC-7, Alex McDonald wrote: >> on 30/07/2015 20:45:18, Bernd Paysan wrote: >> > Wether that's a good idea is part of the debate, and IMHO there's too >> > much debate in that direction. Quotations are some simple syntactic >> > sugar for higher order functions, nothing more. And the first-class >> > element to pass things in Forth is the stack, not outer locals. >> >> Agreed. However, there's a (admittedly remote) chance that the >> conversation may turn up something of interest. > > The reason why Bernd Payson and Alex McDonald believe that all this > debate is a waste of time, is because they already know that the > Payson-faked quotations are going to go into Forth-200x --- they know > this because they asked Leon Wagner for permission and he gave it to > them; this is what is ultimately necessary to get anything into > Forth-200x. > How about you construct test code for John Hayes' core tester or Josh Grams' small-tester.f to prove your quotation method is better or more correct? It shouldn't be too hard for you. Rod Pemberton -- Scientists now say we'll experience a mini-ice in 2030. So, I guess we need more global warming today ...
[toc] | [prev] | [next] | [standalone]
| From | "Alex McDonald" <blog@rivadpm.com> |
|---|---|
| Date | 2015-07-31 09:01 +0100 |
| Message-ID | <mpf9u6$j69$1@dont-email.me> |
| In reply to | #40996 |
on 31/07/2015 06:38:35, wrote: > On Thursday, July 30, 2015 at 2:51:16 PM UTC-7, Alex McDonald wrote: >> on 30/07/2015 20:45:18, Bernd Paysan wrote: >> > Wether that's a good idea is part of the debate, and IMHO there's too >> > much debate in that direction. Quotations are some simple syntactic >> > sugar for higher order functions, nothing more. And the first-class >> > element to pass things in Forth is the stack, not outer locals. >> >> Agreed. However, there's a (admittedly remote) chance that the >> conversation may turn up something of interest. > > The reason why Bernd Payson and Alex McDonald believe that all this > debate is a waste of time, is because they already know that the > Payson-faked quot ations are going to go into Forth-200x --- they know > this because they aske d Leon Wagner for permission and he gave it to > them; this is what is ultima tely necessary to get anything into > Forth-200x. I have never emailed, texted, called, been called by, met, spoken to or seen Leon Wagner, and I don't need to seek his permission to hold a point of view, write an RfD, discuss it on clf, refine it, and have it accepted or rejected in the standard after suitable discussion. As part of the discussion I will deal with your more cogent and coherent points, but this isn't one of them. You haven't answered my last post about your FMITE locals. If you do so and stick to the subject, I'll respond. https://groups.google.com/forum/message/raw?msg=comp.lang.forth/BMSyAsqtrB8/zOg1EzWdCAAJ
[toc] | [prev] | [next] | [standalone]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2015-08-01 14:59 -0700 |
| Message-ID | <d0fb76bb-c1db-46e3-a791-be4303302f42@googlegroups.com> |
| In reply to | #40999 |
On Friday, July 31, 2015 at 1:01:41 AM UTC-7, Alex McDonald wrote: > on 31/07/2015 06:38:35, wrote: > > On Thursday, July 30, 2015 at 2:51:16 PM UTC-7, Alex McDonald wrote: > >> on 30/07/2015 20:45:18, Bernd Paysan wrote: > >> > Wether that's a good idea is part of the debate, and IMHO there's too > >> > much debate in that direction. Quotations are some simple syntactic > >> > sugar for higher order functions, nothing more. And the first-class > >> > element to pass things in Forth is the stack, not outer locals. > >> > >> Agreed. However, there's a (admittedly remote) chance that the > >> conversation may turn up something of interest. > > > > The reason why Bernd Payson and Alex McDonald believe that all this > > debate is a waste of time, is because they already know that the > > Payson-faked quot ations are going to go into Forth-200x --- they know > > this because they aske d Leon Wagner for permission and he gave it to > > them; this is what is ultima tely necessary to get anything into > > Forth-200x. > > I have never emailed, texted, called, been called by, met, spoken to or > seen Leon Wagner, and I don't need to seek his permission to hold a point > of view, write an RfD, discuss it on clf, refine it, and have it accepted > or rejected in the standard after suitable discussion. The Payson-faked quotations were written over a year ago by Bernd Payson. Why are you now writing the RfD rather than Bernd Payson write the RfD? I think the reason why Bernd Payson doesn't write the RfD for the Payson-faked quotations, is because he is ashamed of such blatant fakery --- so he has a stooge write the RfD for him --- afterward he will say: "Alex McDonald wrote the RfD, and everybody agreed to it, so I had to write the code that way." He will conceal the fact that he wrote the code that way over a year prior to the RfD. Everybody is trying to dodge responsibility for Forth-200x. The whole Forth-200x standard is owned entirely by Forth Inc., but Forth Inc. wants to "astroturf" it (make a corporate product appear to be a grassroots product), ans so Leon Wagner has stooges such as Anton Ertl and Bernd Payson pretend to be leaders. But the stooges have stooges of their own --- Bernd Payson has Alex McDonald write an RfD for the Payson-faked quotations in order to avoid responsibility. This reminds of the first rule of plumbing: sewage always flows downhill. At the top we have Leon Wagner, downhill from him we have Anton Ertl and Bernd Payson, and downhill from them we have the brown-noser Alex McDonald.
[toc] | [prev] | [next] | [standalone]
| From | "Alex McDonald" <blog@rivadpm.com> |
|---|---|
| Date | 2015-08-01 23:36 +0100 |
| Message-ID | <mpjhiu$7ho$1@dont-email.me> |
| In reply to | #41047 |
on 01/08/2015 22:59:57, wrote: > On Friday, July 31, 2015 at 1:01:41 AM UTC-7, Alex McDonald wrote: >> on 31/07/2015 06:38:35, wrote: >> > On Thursday, July 30, 2015 at 2:51:16 PM UTC-7, Alex McDonald wrote: >> >> on 30/07/2015 20:45:18, Bernd Paysan wrote: >> >> > Wether that's a good idea is part of the debate, and IMHO there's to > o >> >> > much debate in that direction. Quotations are some simple syntactic >> >> > sugar for higher order functions, nothing more. And the first-class >> >> > element to pass things in Forth is the stack, not outer locals. >> >> >> >> Agreed. However, there's a (admittedly remote) chance that the >> >> conversation may turn up something of interest. >> > >> > The reason why Bernd Payson and Alex McDonald believe that all this >> > debate is a waste of time, is because they already know that the >> > Payson-faked quot ations are going to go into Forth-200x --- they know >> > this because they aske d Leon Wagner for permission and he gave it to >> > them; this is what is ultima tely necessary to get anything into >> > Forth-200x. >> >> I have never emailed, texted, called, been called by, met, spoken to or >> seen Leon Wagner, and I don't need to seek his permission to hold a point >> of view, write an RfD, discuss it on clf, refine it, and have it accepted >> or rejected in the standard after suitable discussion. > > The Payson-faked quotations were written over a year ago by Bernd > Payson. W hy are you now writing the RfD rather than Bernd Payson > write the RfD? > I'm writing it because I'm interested in doing so, strange as that may seem to you.
[toc] | [prev] | [next] | [standalone]
| From | Bernd Paysan <bernd.paysan@gmx.de> |
|---|---|
| Date | 2015-08-02 01:19 +0200 |
| Message-ID | <mpjk2g$ek2$1@dont-email.me> |
| In reply to | #41050 |
Alex McDonald wrote: > I'm writing it because I'm interested in doing so, strange as that may > seem to you. And I have no problem if somebody else does my job. After all, I actually was assigned to do the quotation RfD. I just didn't get to it yet; and fortunately, Stephen Pelc had done most of the work by collecting stuff from previous rounds of discussion. And that work is what Alex now bases his RfD on. My first use of quotations is nearly 20 years ago. It's nothing new. It just didn't get standardized by now. And BTW, Hugh: Payson is a city in Utah. My name is Paysan. -- Bernd Paysan "If you want it done right, you have to do it yourself" net2o ID: kQusJzA;7*?t=uy@X}1GWr!+0qqp_Cn176t4(dQ* http://bernd-paysan.de/
[toc] | [prev] | [next] | [standalone]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2015-08-01 18:27 -0700 |
| Message-ID | <49b34eb9-955b-4635-b57e-9596ab2ba227@googlegroups.com> |
| In reply to | #41052 |
On Saturday, August 1, 2015 at 4:19:12 PM UTC-7, Bernd Paysan wrote:
> Alex McDonald wrote:
> > I'm writing it because I'm interested in doing so, strange as that may
> > seem to you.
>
> And I have no problem if somebody else does my job. After all, I actually
> was assigned to do the quotation RfD. I just didn't get to it yet; and
> fortunately, Stephen Pelc had done most of the work by collecting stuff from
> previous rounds of discussion. And that work is what Alex now bases his RfD
> on.
Who "assigned" this to you?
I think you are ashamed of having to fake the quotations the way that you did, so you told Alex McDonald to write the RfD and attach his name to it --- because Alex is too dumb to be ashamed, and everything he does is fake anyway --- there is nothing else that you can do, because Leon Wagner won't give you permission to implement quotations correctly, so the best that you can accomplish is to avoid blame despite the fact that it was your assignment.
> My first use of quotations is nearly 20 years ago. It's nothing new. It
> just didn't get standardized by now.
You don't have any "use of quotations" --- what you are doing is totally fake --- you don't have anything beyond what I was doing in the novice package with my "touchers," but I always described it as a bad solution although the best that could be done in ANS-Forth.
Since the time when I wrote the novice package, I have learned the correct terminology ("toucher" was a clumsy term) --- you still don't know the difference between the terms "quotation" and "higher-order function" though, as you said that they are equivalent --- you don't really know anything about the subject.
Anyway, people can read: http://www.forth.org/FMITE.txt
ANS-Forth and Forth-200x are all about imposing pointless limitations on Forth programmers --- they are not a positive contribution to Forth programming --- it is really best if they are abandoned.
[toc] | [prev] | [next] | [standalone]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2015-08-09 14:34 -0700 |
| Message-ID | <ec0c0f79-6b02-4210-a56b-991107ba9463@googlegroups.com> |
| In reply to | #41054 |
On Saturday, August 1, 2015 at 6:27:48 PM UTC-7, hughag...@gmail.com wrote: > On Saturday, August 1, 2015 at 4:19:12 PM UTC-7, Bernd Paysan wrote: > > Alex McDonald wrote: > > > I'm writing it because I'm interested in doing so, strange as that may > > > seem to you. > > > > And I have no problem if somebody else does my job. After all, I actually > > was assigned to do the quotation RfD. I just didn't get to it yet; and > > fortunately, Stephen Pelc had done most of the work by collecting stuff from > > previous rounds of discussion. And that work is what Alex now bases his RfD > > on. > > Who "assigned" this to you? > > I think you are ashamed of having to fake the quotations the way that you did, so you told Alex McDonald to write the RfD and attach his name to it --- because Alex is too dumb to be ashamed, and everything he does is fake anyway --- there is nothing else that you can do, because Leon Wagner won't give you permission to implement quotations correctly, so the best that you can accomplish is to avoid blame despite the fact that it was your assignment. I think that it is very clever the way that Bernd Paysan avoided being blamed for the Paysan-faked quotations by having Alex McDonald write the RfD and get his name attached to it. Weaseling out of trouble is what separates the humans from the animals --- except the weasel, of course --- everybody in the peanut-gallery section of Forth-200x should hope that someday they too can take the blame for something that a committee member feels too ashamed to attach his name to. As a salute to Alex McDonald, I've written this poem: I'm merely McDonald, a programmer only in name, Paysan takes the credit, and leaves me to bear the blame! But he's such a comfort, for without him I'd program much worse, for I'm merely McDonald, and Bernd is my nurse! This poem was actually written in the 1920s --- I just changed the names to fit the modern situation --- is anybody here familiar enough with American political history to know whose names were originally in it?
[toc] | [prev] | [next] | [standalone]
| From | anton@mips.complang.tuwien.ac.at (Anton Ertl) |
|---|---|
| Date | 2015-07-31 08:52 +0000 |
| Message-ID | <2015Jul31.105218@mips.complang.tuwien.ac.at> |
| In reply to | #40881 |
"Alex McDonald" <blog@rivadpm.com> writes:
>[: ( -- c: nested-sys )
>Compilation: suspends compiling to the current definition, starts a
>new nested definition, and compilation continues with this nested
>definition. It is an ambiguous condition if outer locals are visible
>and referred to in the nested definition. Locals may be defined in
>the nested definition. Inside the nested definition RECURSE applies
>to the nested definition.
>
>;] ( c: nested-sys -- )
>Compilation: Ends the current nested definition, and resumes
>compilation to the previous current definition. This includes ending
>the action of DOES> if any. It appends the following run-time to the
>current definition:
>
>run-time: ( -- xt )
>xt is the execution token to execute the nested definition.
Interpretation semantics of [: and ;] are undefined if we follow the
practice of Forth-94 (for, e.g., ; or IF).
Concerning RECURSE and DOES>, one could write the rest of the
definition in a way that the desired behaviour falls out from the
definitions of RECURSE and DOES>, so you don't need to mention it in
the normative part; you can mention it in the informative part to make
it more obvious. I think that the current formulation is mostly
there.
The RfD is missing tests (including tests for RECURSE and DOES> inside
quotations).
- anton
--
M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
New standard: http://www.forth200x.org/forth200x.html
EuroForth 2015: http://www.mpeforth.com/euroforth2015/euroforth2015.htm
[toc] | [prev] | [next] | [standalone]
Page 5 of 6 — ← Prev page 1 2 3 4 [5] 6 Next page →
Back to top | Article view | comp.lang.forth
csiph-web