Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #40881 > unrolled thread

RfD: Quotations

Started by"Alex McDonald" <blog@rivadpm.com>
First post2015-07-28 21:22 +0100
Last post2015-08-01 15:15 -0700
Articles 20 on this page of 114 — 15 participants

Back to article view | Back to comp.lang.forth


Contents

  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 →


#40961

From"Alex McDonald" <blog@rivadpm.com>
Date2015-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]


#40964

Fromfranck.bensusan@gmail.com
Date2015-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]


#40980

Fromhughaguilar96@gmail.com
Date2015-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]


#40927

Fromhughaguilar96@gmail.com
Date2015-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]


#40948

From"Alex McDonald" <blog@rivadpm.com>
Date2015-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]


#40978

FromBernd Paysan <bernd.paysan@gmx.de>
Date2015-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]


#40981

Fromhughaguilar96@gmail.com
Date2015-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]


#40985

FromJulian Fondren <ayrnieu@gmail.com>
Date2015-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]


#41000

From"Alex McDonald" <blog@rivadpm.com>
Date2015-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]


#41009

FromGerry Jackson <gerry@jackson9000.fsnet.co.uk>
Date2015-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]


#40984

From"Alex McDonald" <blog@rivadpm.com>
Date2015-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]


#40996

Fromhughaguilar96@gmail.com
Date2015-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]


#40997

From"Rod Pemberton" <boo@fasdfrewar.cdm>
Date2015-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]


#40999

From"Alex McDonald" <blog@rivadpm.com>
Date2015-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]


#41047

Fromhughaguilar96@gmail.com
Date2015-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]


#41050

From"Alex McDonald" <blog@rivadpm.com>
Date2015-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]


#41052

FromBernd Paysan <bernd.paysan@gmx.de>
Date2015-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]


#41054

Fromhughaguilar96@gmail.com
Date2015-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]


#41233

Fromhughaguilar96@gmail.com
Date2015-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]


#41002

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2015-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