On Monday, July 25, 2016 at 12:46:18 AM UTC-7, Julian Fondren wrote:
> On Monday, July 25, 2016 at 2:36:38 AM UTC-5, Elizabeth D. Rather wrote:
> > On 7/24/16 9:30 PM, Julian Fondren wrote:
> >
> > > Bonus: Hugh would avoid his shockingly venomous attacks on Elizabeth
> > > (would "be polite and courteous" to her) if only she hadn't
> > > declared, in some feverish delusion of Hugh's, to be the sole
> > > arbiter of Forth.
> >
> > Which, exactly, feverish delusion of Hugh's was that, Julian? There have
> > been so many.
>
> According to pattern, Hugh will link to a thread, or even directly
> quote from the thread, and then declare victory. There's no actual
> need for the thread or his quote to support his claims. He'll just
> say that it does :p
Consider this thread:
https://groups.google.com/forum/#!topic/comp.lang.forth/ohE8mx7tWQU%5B76-100%5D
I'll quote directly from the thread:
On Sunday, July 10, 2016 at 9:23:44 PM UTC-7,
hughag...@gmail.com wrote:
> As usual, SwiftForth code is grossly over-complicated. I figured it out though. Just as a joke, here is code for both VFX (slightly upgraded to be more efficient) and SwiftForth (not totally trivial, but reasonably easy to write):
>
> \ in the stack-picture comments, R is a continuation (a vector to a quotation)
>
> VFX? SwiftForth? or [if]
>
> \ My code ( VFX or SwiftForth only) requires that the HOF does have local variables.
>
> : rexit ( -- ) rdrop ;
> : (r:) ( -- r ) r@ 5 + ; \ 5 is the size of a JMP instruction in 32-bit x86
> : r[ ( -- r ) postpone (r:) postpone ahead ; immediate
> : ]r ( -- ) postpone rexit postpone then ; immediate
>
> VFX? [if]
>
> code rex ( r -- ) \ HumptyDumpty called this RCALL
> push edi \ this is the HOF's LF which won't be used by the quotation
> mov edi, 0 [edi] \ this is the parent's LF which will be used by the quotation
> mov eax, ebx
> mov ebx, 0 [ebp] lea ebp, w [ebp]
> call eax
> pop edi \ restore HOF's LF
> next, end-code
>
> [then]
>
> SwiftForth? [if]
>
> 156 constant lf-offset \ this is the offset for the local-frame in the user-variables (ESI is the user-variable base)
>
> code rex ( r -- ) \ HumptyDumpty called this RCALL
> lf-offset [esi] edx mov
> edx push \ this is the HOF's LF which won't be used by the quotation
> -4 [edx] eax mov \ this is the old ESP
> 0 [eax] eax mov \ this is the parent's LF which will be used by the quotation
> eax lf-offset [esi] mov
> ebx eax mov [drop]
> eax call
> lf-offset [esi] pop \ restore HOF's LF
> ret end-code
>
> [then]
>
> [else] \ this was written by HumptyDumpty and works on gForth, SwiftForth and VFX
>
> : rexit ( -- ) RDROP ;
> : (r:) ( -- r ) R@ 0 ;
> : r[ ( -- r ) postpone (r:) postpone IF ; immediate
> : ]r ( -- ) postpone REXIT postpone THEN ; immediate
> : rex ( r -- ) >R -1 ; \ HumptyDumpty called this RCALL
>
> \ HumptyDumpty's code requires that the HOF does not have local variables.
>
> [then]
>
> \ char & comment \ this only works for my code (VFX or SwiftForth)
>
> : test-hof { r | y -- }
> 9 to y
> cr ." enter TEST-HOF " y . \ should be 9
> 3 0 do r rex loop
> cr ." leave TEST-HOF " y . \ should be 9
> ;
>
> : test { | x -- }
> 10 to x
> cr ." before: " x . \ should be 10
> r[ 1 +to x ]r test-hof
> cr ." after: " x . \ should be 13
> ;
>
> &
I declare victory in this thread!
The quotations RfD was supposed to be a slam-dunk from a ladder. The code for the Paysan-faked quotations was written by Bernd Paysan (Forth-200x committee member). The RfD was taken word-for-word from an article written by Stephen Pelc (Forth-200x committee member) and endorsed by Anton Ertl (Forth-200x committee chair-person). The RfD was pre-approved by Leon Wagner (boss of the Forth-200x committee). Alex McDonald put his name on the RfD to fake-up a grass-roots aspect to the RfD so it wouldn't appear to have come straight from the Forth-200x committee, but would instead appear to have come from the Forth community. All in all, a slam-dunk from a ladder!
Now the RfD has pretty much died. Over on the Forth-200x mailing list, nobody wants to discuss the RfD anymore. The last post in the mailing-list thread is dated July 7, which is quite some time ago. This is the last post (from Jennifer Brien):
----------------------------------------------------------------------------
On Thu, Jul 7, 2016 at 3:48 PM, Hans Bezemer
han...@xs4all.nl [forth200x] <
fort...@yahoogroups.com> wrote:
I don't like to write dirty stuff just to please quiche eaters, so IMHO this
one is far more controversial that the "keep access to outer variables". For
what? It has already executed. The thing is dead!
I think we are all agreed on that. I asked because I didn't see any great need for what Hugh was demanding, I still don't, and I can see trying to provide it might result in a lot of gotchas. I'm quite content with what he is pleased to call "Paysan faked quotations."
As far as locals and quotations are concerned, I think it is much more important that they can be passed as parameters to structure-walking words like map-array and traverse-wordlist.
----------------------------------------------------------------------------
The reason why nobody wants to respond, is that what she says is clearly untrue. She is saying that my rquotations can't be passed as parameters to "structure-walking words" (her term for higher-order-functions, commonly called HOFs). This is a pretty disingenuous argument --- roughly comparable to Alex McDonald saying that I have a "serious misunderstanding of how pointers work" or that I "really don't know how CREATE DOES> works" --- just typical Forth-200x insults (Forth-200x is a house founded upon sand, and for mortar they use bullshit).
So, I feel comfortable in declaring victory against the Forth-200x committee in regard to quotations. If anybody disagrees, then they need to get on the Forth-200x mailing list and go back to praising the RfD for the Paysan-faked quotations that Jennifer Brien is "quite content" with. Do it Forth-200x supporters! This is the only way you can declare victory for yourselves! The Forth-200x mailing-list is a "Hugh-free zone" (Jennifer Brien's term) so there is no way for me to stop you from declaring victory --- all that is needed is for you to is to get off your fat asses and declare victory --- but you haven't done so yet, and instead you have let the RfD wither and die (that RfD is almost a year old now, and it has yet to be turned into a CfV and ratified unanimously despite being pre-approved by Leon Wagner).
P.S. I actually do like to eat quiche. I remember way back in Santa Barbara going to parties and the women would bring quiche for the pot-luck. Awesome! Who doesn't like quiche?