On Tuesday, February 4, 2020 at 5:30:11 AM UTC-7, Krishna Myneni wrote:
> On 04-02-20 3:30 AM, Ruvim wrote:
> > Do you want to say that this:
> >
> > : foo [ :noname 123 . ; lit, ] ;
> >
> > is less clunky and less burdensome to the programmer than this:
> >
> > : foo [: 123 . ;] ;
> >
> > ? Or what do you mean?
>
> I mean that it is less economical, less logically consistent, and less
> elegant, from a language design perspective, to not allow use of
> features already existing in the language. Forth-94 standardized
> anonymous functions with :NONAME . A standard beyond Forth-2012 should
> permit one to use this prior experience with :NONAME to create an
> anonymous function nested within a named definition, or within another
> anonymous function, if desired. A person who is familiar only with
> Forth-94 can understand the meaning of
>
> : foo [ :noname 123 . ; lit, ] ;
>
> without having to know about quotations in Forth-20xx, even if LIT, is
> unfamiliar.
Krishna Myneni is making a fool out of himself!
:NONAME is defined to allow local variables, similar to a colon word.
If the :NONAME has its own local variables, then how is it going to
access the local variables in the parent function???
So, Krishna Myneni is effectively saying that it is illegal for the
quotation to access the parent function's local variables.
This is the primary feature that makes quotations useful for supporting
general-purpose data-structures, so Krishna Myneni is effectively
preventing quotations from being used for the one purpose they have!
I have rquotations that access the parent function's local variables.
The HOF may or may not have local variables of its own, as rquotations
work either way (the HOF uses REX to execute the rquotation if the HOF
has locals of its own, or uses REX0 if it does not have locals).
I really don't believe that anybody in the Forth-200x cult knows how
to implement a general-purpose data-structure. Give any example of
doing this! You can't, because you don't know how. Peter Knaggs tried
to implement a linked-list, and he wrote a EuroForth paper on the subject,
but he failed badly. He didn't have any working code. His design was just
a jumble of bugs and nonsense. He really didn't know anything about the
subject. None of the Forth-200x committee members have ever succeeded
in implementing a general-purpose data-structure, and none of the
ANS-Forth committee members succeeded either. This is four decades
of failure at implementing general-purpose data-structures!
This is the thread where I introduced my upgrade on
HumptyDumpty's rquotations that provide the crucial feature
of the rquotation accessing the parent function's local variables
despite the HOF (that the parent function calls and that executes
the rquotation) having local variables of its own:
https://groups.google.com/forum/#!topic/comp.lang.forth/ohE8mx7tWQU%5B76-100%5D
I have made the code a little cleaner since then, but the basic
feature was essentially there then (July of 2016).
The same idiotic blather that Krishna Myneni is spouting now, was
being spouted by the Forth-200x cult then too:
On Saturday, July 9, 2016 at 11:11:06 PM UTC-7,
hughag...@gmail.com wrote:
> On Saturday, July 9, 2016 at 9:59:23 PM UTC-7, Julian Fondren wrote:
> > On Saturday, July 9, 2016 at 2:58:27 PM UTC-5, Håkan Thörngren wrote:
> > >
> > > Why do we need to invent new syntax (words) for this?
> > >
> > > Would it not be possible to just use the already existing :NONAME
> > > inside a definition?
> > >
> >
> > :noname is already usable inside a definition. Where it has a
> > different meaning. So we can't use it again for this. It would have
> > to look something like
> >
> > : foo ( -- )
> > 0 IF [ :noname ." a" ; ] THEN LITERAL ;
> >
> >
> > -- Julian
>
> You don't test your code, do you Julien?
>
> Don't worry! So long as you brown-nose Elizabeth Rather,
> you still get to be considered an ANS-Forth programmer --- ANS-Forth
> is a cult --- writing code that works [has] never been required
> or even expected, but loyalty is demanded.
The ANS-Forth and Forth-200x cult never learns anything!
They just continue to spout the same idiotic blather, year after year.
They just continue to fail in the same way, decade after decade.
This embarrassing behavior never ceases, but it just goes on and on...