on 16/03/2015 16:59:22, wrote:
> On Monday, March 16, 2015 at 12:51:38 AM UTC-7, Stephen Pelc wrote:
>> On Sun, 15 Mar 2015 19:45:54 -0700 (PDT),
hughag...@gmail.com
>> wrote:
>>
>> >You should be more honest and say: "It has been a long tradition in the
> ANS> > and Forth 200x committees to avoid breaking Forth Inc. code."
>> >
>> >The reason why Leon Wagner required you to use {: ... :} is because Swif
> tFo> >rth was already using { ... } for multi-line comments. But who
> the hell car> >es???
>>
>> Your ability to miss the point is amazing. Under Forth2012, the
>> previous usages of { ... } are now undefined. SwiftForth and VFX
>> Forth can both behave as before. However, the usage of {: ... :}
>> is now standardised.
>
> Lets clarify the design decision of the Forth-200x committee:
> 1.) Everybody in the Forth community who has been using { ... } for
> local v ariable declarations (the John Hopkins format) for 20+ years
> will have to c onvert all of their legacy code over to use this new
> and ugly {: ... :} syn tax instead --- that is quite a lot of work!
> --- we are likely to get carpa l-tunnel syndrome in the right pinky
> finger. :-
No. Nothing changes since {: :} is an addition.
> ( 2.) SwiftForth will continue to use { ... } for multi-line
> comments. They w on't convert their legacy code over to use my COMMENT
> instead, although doi ng so would be trivial --- because programming
> time costs money at Forth In c. --- aloha!
Correct. Why on earth would they want to use your COMMENT? See your point
(1).
>
> Am I missing the point? I think I've pretty much nailed it down.
As in missed the nail and hit your thumb.
>
> Also, you are dodging my point about {: having a bug --- it fails to
> zero o ut the local variables declared to the right of the | and it
> actually initi alizes them to whatever garbage-value happened to be in
> memory at the time. I read your manual (section 8.1) and you say
> nothing about what the local variables to the right of the | are
> initialized to, so I tested VFX and fou nd that you have the bug too:
> they are initialized to whatever was in memor y already, so if the
> programmer forgets to explicitly initialize them (a co mmon bug), the
> function will do something different every time that it is e xecuted
> (makes debugging difficult!). Also, on a related note, Forth-200x s
> hould define ALLOT so that it zeros out the memory that it allots, so
> VARIA BLE etc. will be initialized to a known state rather than
> whatever garbage- value happened to be in memory at the time
> (different every time the progra m is compiled).
Both requirements are inefficent.
>
> I read your manual (section 8.1) and found this:
> For compatibility with previous implementations, { is accepted in
> place of {: and } in place of :}. The change to {: ... :} took place
> as a result of the Forth200x standard.
>
> This just illustrates my point --- you yourself were one of the legion
> of F orth programmers who were using { for local variable definitions,
> but Leon Wagner told you to switch to {: because he was using { for
> multi-line comme nts, and you said: "Yes Master! Your every whim is my
> command! Would you al so like me to shine your shoes while I'm on my
> knees?" If you were to contr adict him, he would kick you off the
> committee --- the result is that now V FX code is a mish-mash of
> sometimes using { and sometimes using {: and the poor MPE customer is
> baffled as to why there are two words that appear to b e doing the
> same thing and he wonders if there is some subtle difference th at he
> is unaware of.
See point (1). This contradicts what you say there, but hey, what's new?
>
> Really! Grow a spine and tell Leon Wagner that you aren't going to do
> what he commands until Forth Inc. starts signing your paycheck ---
> then walk awa y from Forth-200x like I did --- unless Forth Inc. is
> signing your paycheck (I was on the Forth-200x mailing list, and you
> never mentioned this, but m aybe it is just something that you don't
> like to talk about in public).
>
You walked? I thought you were forcibly ejected, since you didn't meet
the minimum requirements for membership in terms of civility.