[comp.lang.forth] Spurious analogy

wmb@MITCH.ENG.SUN.COM (07/04/90)

> John's 30-sided sponge analogy is more accurate than he thought,
> thought, by dint of the fact that a 30-sided wrench will fit neither
> 5- nor 6-sided nuts and bolt heads!


Au contraire, the analogy is about as INaccurate as you can get.

To summarize the analogy:
        All vendors use 6-sided bolts except one who uses 5-sided bolts.
        Committee invents a 30-sided wrench and calls it a "sponge"

Counterarguments:

1) The points of contention under discussion (NOT and / appear to be the big
   culprits) are not divided "one vendor against the rest of the world".
   They are divided about 50-50, and are generally points where Forth-79
   and Forth-83 disagree.

2) A 6-sided wrench will HARDLY EVER (never?) work on a 5-sided bolt.
   However, in the most commonly used cases, symmetric and floored division
   give the same result.  A lot of people don't even realize that there
   is a difference!  The most popular use of NOT is for complementing
   a flag just before IF , and in most cases, where the flag is a result
   of a comparison operator, NOT gives the same answer as 0= . (yes, I know
   that this is incorrect usage, but I see people doing it ALL THE TIME,
   even on Forth-83 systems.  The fact that people routinely use NOT
   incorrectly is in itself an indication that NOT is a problem area).

3) ANS Forth has not "invented a 30-sided wrench".  ANS Forth has noted
   that 2 flavors of wrenches ALREADY EXIST, LIKE IT OR NOT, and has
   DOCUMENTED the range of usage in which either of the two flavors
   can be used interchangeably.  A much better analogy is open-end
   wrenches vs. box-end wrenches vs. socket wrenches.  In many or most
   applications, you could use either of those kinds of wrenches, but
   there are a few cases where a particular kind is preferable.

   Furthermore, ANS Forth has DISTINGUISHED the (already existing)
   different kinds, making them MORE PRECISE.  It has not "invented
   a catch-all wrench".

	(Generic)Wrench		Box-End Wrench		Open-End Wrench
	/		SM/MOD			FM/MOD
	NOT		0=			INVERT

4) Calling it a "sponge"?  Come on, guys.  The word "sponge" has nothing
   at all to do with "wrench", and in fact already has a well-known
   meaning which is something entirely different.

   INVERT is a meaningful name for bitwise logical inversion,
   and has no conflicting prior usage.

   SM/MOD and FM/MOD are meaningful names of Symmetric and Floored
   mixed-precision division/modulus, fiting in well with the established
   and non-controversial name UM/MOD .

5) "a 30-sided wrench doesn't work".  In what way does the ANS Forth solution
   "not work"?  I claim that it works VERY WELL.  I can continue to use my
   existing code WITHOUT CHANGE , and I can write new code and know exactly
   what it will do.

Most analogies break down somewhere.  This one breaks down before it
even gets out of the starting gate.

Perhaps some people have gotten stuck in a "complain, no matter what"
mode.

Mitch

a684@mindlink.UUCP (Nick Janow) (07/04/90)

wmb@MITCH.ENG.SUN.COM

> ANS Forth has not "invented a 30-sided wrench".  ANS Forth has noted that 2
> flavors of wrenches ALREADY EXIST, LIKE IT OR NOT, and has DOCUMENTED the
> range of usage in which either of the two flavors can be used
> interchangeably.

I think that much of the complaint comes about because for whichever word is
being complained about, the ANSI committee didn't chose the common practice of
the version of FORTH the complainer uses.  "I support the concept of an ANSI
standard whole-heartedly...just as long as they choose _my_ common practices!
_I_ shouldn't have to change my habits!"

RAYBRO%UTRC@UTRCGW.UTC.COM (William R Brohinsky) writes:

> It all seems so sad: X3J14's goodness ran out for me when they killed NOT.

"Wwwaaahhh!  They didn't chose my preference!  I'm not going to play with them
anymore!"

I'm willing to switch to ANSI FORTH.  I use MacFORTH Plus now, but I might
change it to meet ANSI standards until a proper ANSI version becomes available.

dwp@willett.UUCP (Doug Philips) (07/04/90)

wmb@MITCH.ENG.SUN.COM, in <9007040417.AA28460@ucbvax.Berkeley.EDU>, writes:

> 1) The points of contention under discussion (NOT and / appear to be the big
>    culprits) are not divided "one vendor against the rest of the world".
>    They are divided about 50-50, and are generally points where Forth-79
>    and Forth-83 disagree.
> ...
> 3) ANS Forth has not "invented a 30-sided wrench".  ANS Forth has noted
>    that 2 flavors of wrenches ALREADY EXIST, LIKE IT OR NOT, and has
>    DOCUMENTED the range of usage in which either of the two flavors
>    can be used interchangeably.
> ...
> Perhaps some people have gotten stuck in a "complain, no matter what"
> mode.

Mitch, although I tend to agree with your philosophy of the way the TC
is going about things, I think a lot of good would come from getting
away from merely asserting things and actually showing them.  I don't
think that people are necessarily complaining, no matter what (although
that is probably true for some of them).  Rather I think it is more a
matter of lack of information.  Maybe also coupled with an adversarial
attitude ("Prove I'm Wrong," instead of "Here is the Proof of Why I Am
Right").  I suspect that such an attitude may be justifiable, but
one could always hope that the committee (and those of us sniping at them
from the sidelines) would rather spend their efforts working together
towards understandings and solutions rather than fighting turf wars.

-Doug

---
Preferred: willett!dwp@hobbes.cert.sei.cmu.edu OR ...!sei!willett!dwp
Daily: ...!{uunet,nfsun}!willett!dwp   [in a pinch: dwp@vega.fac.cs.cmu.edu]