home .. forth .. misc mail list archive ..

Re: Chuck's Fireside Chat at Forth Day


On Sun, 15 Nov 1998, Jeff Fox wrote:

> (blue)  SQRT (red) 1. (green) 1FF. ; (red) *. (green) 1.
>  */ ; (red) /. (green) 1. SWAP */
> ; (red) 3/2 (green) DUP DUP *. *. *. (red)
> SQRT (green) DUP 1. - 1 + +
> 2/ 1. + SWAP OVER /.
>  + 2/ ; (black) END

Sorry for complaining, but this formatting is pretty bad.  If only e-mail
supported colors natively, without having to resort to such trickery as
HTML.  :)

However, all things considered, this is, by far, the first satisfactory
explanation of what color forth is that I've seen.  I personally am
opposed to Chuck's shortening of words -- I prefer longer words myself.
However, syntax highlighting would seem to be useful on the surface.

The above code would be written, I think, in normal Forth as follows:

: 1.      $1FF ;
: *.      1. */ ;
: /.      1. SWAP */ ;
: SQRT    DUP 1. - 1 + +   2/ 1. + SWAP OVER /.   + 2/ ;
: CUBED   DUP DUP *. *. *. ;	( my own word -- sorry, but I factor! )
: 3/2     CUBED SQRT ;

I dunno...I think I would like to have syntax highlighting, but not actual
color Forth.  That makes the compiler too complicated, in my opinion.  I'd
rather put the complexity in the editor, myself.  :)

However, what Chuck is describing sounds more like he's making it more
Smalltalk-ish, where there are no class-building words.  Instead, you
create a new class by telling a base class to subclass itself.  In Color
Forth, you tell the compiler directly, "hey, there's a new word HERE.
Make it so" while you're editing.

In some respects, that may be useful, but in the end run, I prefer my
plain vanilla, old-fashioned, black-and-white, text-only Forth system.
*grin*

Just my opinions... :)

==========================================================================
      KC5TJA/6     |                  -| TEAM DOLPHIN |-
        DM13       |                  Samuel A. Falvo II
    QRP-L #1447    |          http://www.dolphin.openprojects.net
   Oceanside, CA   |......................................................