[comp.lang.forth] Basics of the Forth Language

ForthNet@willett.UUCP (ForthNet articles from GEnie) (01/10/90)

 Date: 01-08-90 (10:31)              Number: 1549 (Echo)
   To: ARCHIE WARNOCK                Refer#: 1539
 From: STEVE PALINCSAR                 Read: NO
 Subj: BASICS OF THE FORTH LANGU     Status: PUBLIC MESSAGE

 And at the same time, again following what Ray Duncan has said, it seems
 to be a smart thing these days to understand C -- since so much that 
 appears in journals uses C to illustrate and explain.  So I've decided 
 to learn enough about C this year to be able to do that.  And so far, 
 it's been _most_ illuminating.  There's a language that's supposed to 
 have a small core, right?  Just like what the embedded systems folks 
 want of a "lean forth."  But part of every C system is an extensive set 
 of library functions that "aren't part of C" but seem to be standard 
 with every commercial C.  And amazingly enough, they provide the sort of
 functionality that comes in forth only with "fat" systems... and then 
 some.  Indeed, it kind of got me mad to see (after the days of trouble I
 spent figuring out how to translate the selection sort algorighm from 
 Sedgewick's Pascal, which I don't know, and Knuth's MIX, which nobody 
 knows!, into forth, that C systems have a quicksort function right there
 in the box.

 In fact, I think if most of the "lean and mean" proponents you run into 
 here took a look at what comes in the box with a commercial C system 
 (and that doesn't even count what you can get with add-on libraries) and
 compare it with the "here's your ingot of pig iron, there's a pile of 
 coal, all you need to do is build a forge, make some steel, and create 
 yourself some tools" approach they advocate for forth, they might just 
 see some reasons why C is popular!  
-----
This message came from GEnie via willett through a semi-automated process.
Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'

ForthNet@willett.UUCP (ForthNet articles from GEnie) (01/11/90)

 Date: 01-09-90 (05:46)              Number: 1551 (Echo)
   To: STEVE PALINCSAR               Refer#: 1549
 From: GORDON GANDERTON                Read: NO
 Subj: BASICS OF THE FORTH LANGU     Status: PUBLIC MESSAGE

 SP>of library functions that "aren't part of C" but seem to be standard
 SP>with every commercial C.  And amazingly enough, they provide the sort of
 SP>functionality that comes in forth only with "fat" systems... and then
 I have always been aware of this. It was the reason why I wondered why
 Forth was not more popular. I have since discovered that the first
 thing you do when you write a Forth program is start adding words to
 the vocabulary. This would be kind of adding functions to C but more
 powerful because they dont have to be initialized and called up as
 functions. Your own words in Forth are as genuine as Forth words. So...
 in the same way that Kernigie and Richie's original C is the only true
 nucleus of C and the rest is the library, I would imagine that it would
 do justice to Forth if we used the standard F83 (latest standard) and
 anything else could be allocated to a separate vocabulary (C library).
 After all, how compatible are all the versions of C when you include
 every word in the libraries? Rgds.

 ---
  ~ EZ-Reader 1.20 ~ .EXE -ex

 NET/Mail : British Columbia Forth Board - Burnaby BC - (604)434-5886   
-----
This message came from GEnie via willett through a semi-automated process.
Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'

ForthNet@willett.UUCP (ForthNet articles from GEnie) (01/20/90)

 Date: 01-18-90 (04:33)              Number: 1563 (Echo)
   To: STEVE PALINCSAR               Refer#: 1549
 From: ARCHIE WARNOCK                  Read: 01-18-90 (13:15)
 Subj: BASICS OF THE FORTH LANGU     Status: PUBLIC MESSAGE

 SP>And at the same time, again following what Ray Duncan has said, it se
 SP>to be a smart thing these days to understand C -- since so much that 
 SP>appears in journals uses C to illustrate and explain.  So I've decide
 SP>to learn enough about C this year to be able to do that.  And so far,

 Me, too.  Actually, I had a text processing program to write and thought
 to myself, "Here's a good opportunity to use all those fancy string
 handling functions I've heard of, and to learn C to boot."  Actually,
 the string stuff in standard C is nowhere near as powerful or useful as
 George's package.  Sigh...  But the add-on libraries (CXL in particular)
 make a big difference.

 I'm not sure there's a whole lot more you can do with straight "vanilla"
 C than with an ANSI Forth system.  The power comes from the libraries.
 But lots of the C libraries will run under more than one compiler (at
 least by using conditional compilation), and we sure can't do that with
 our various Forth systems.  Again, George's strings package was the most
 portable thing I've ever seen, and it still needed some diddling to make
 it work.

 ---
  ~ EZ 1.24 ~ We don't know the ********* words!
-----
This message came from GEnie via willett through a semi-automated process.
Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'

ForthNet@willett.UUCP (ForthNet articles from GEnie) (07/06/90)

 Date: 07-04-90 (00:01)              Number: 1808 (Echo)
   To: ALL                           Refer#: NONE
 From: MIKE CHRISTOPHER                Read: (N/A)
 Subj: VIEWING ON WRONG LINE!        Status: PUBLIC MESSAGE

 Someone asked about "when I view a word, view places cursor below it"
 This is due to the nature of INCLUDE files. The rule is:
 put all includes in one (loader) file. Don't mix includes with other
 definitions.  For a good time, learn how view works. It is very 
 efficiently written.  Mike Christopher. 
-----
This message came from GEnie via willett through a semi-automated process.
Report problems to: uunet!willett!dwp or willett!dwp@hobbes.cert.sei.cmu.edu

ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) (12/10/90)

Category 2,  Topic 1
Message 31        Sat Dec 08, 1990
J.SANFORD1                   at 21:03 MST
 
      I have discovered That i can do some simple experiments in learning
Forth with L.Craymers F68K. However from previous experience I expect that
once I try to copy a program I don't completely understand I am in trouble. 
In spite of the large size and compared to what else is avaliable in P.D. this
program is the only one I would recomend to a beginner. Just be carefull to
not attempt to use the parts that are not explained in your text book. Or have
the documentation from Forth Dimentions or etc. When you get stuck, real good,
go on to something else, My stubborness has retarded my progress.  I supose
people have learned to drive on 16 wheelers.
  I suspect the reason this program is in P.D. is so that  advanced
programmers may see how some of the more esoteric ideas that have been
proposed may be consumated on a inexpensive state of the art circa 1987
computer.
      So I encourage advanced Forth programmers to vet it.
      My wildest dreams have lead me to go at GEM with a Assembler. I just
received DevpacST. This may make a difference, as the Manual attempts to clear
some of the fog in the Atari OS. We'll see.
      Brad,   I have a P.D. ICON for the ST  which is behind the back burner.
If you want me to send it to you, leave an address.
      Wilson,  Do we have to wait for Xmas to download? <;->  - jon -*s
          E E     bye
      As you may have noticed I've elected myself a one man cheering section
for Forth on the ST.   As the result of a letter of encouragement to John
Redmond of ForST fame, see last few issues of FD, I've received a letter in
return, 
      He says the ST is not anymore popular in Australia then here, then goes
on to puzlement of the Tramiel's strategy.  I have got that figgured out.  If
you consider Alexis de Tocqueville's statement; " Americans would rather be
equal than free."  And then read a few issues of Dr.Dobbs, Byte ... From the
point of view of someone used to the Atari ST. All the amasing solutions to
problems that wouldn't exist if they haden't gotten involved with
Microsoft,IBM,ATT in the first place. Heh Heh!  Money spent on advertising a
system with only a few small problems is wasted on Real Big Time Problem
Solvers.
      In otherwords ( this is heresy ) maybe the Tramiels' are not stupid!
      Without permission Iam going to Quote part of the letter as appropritate
to this topic.
      "You've summed up the Forth situation very nicely when you said that
beginners will ultimately decide its fate.  I think that was what led me to
start with the local and register variables.  They make coding much less
complex.  Stack pumping has very little to do with what computing is really
about.  In part 4 of the FD series, I make the point, too, that pumping is
very inefficient. The world has very little need for a language that is both
inefficient and hard to understand.  Forth at its worst is harder to follow
than 68000 assembly code.
      Marlin Overson has asked me to document ForST so that it can be put on
GEnie.   I have almost finished this, and expect to send it off before
Christmas.  So, if you are intrested, it should be available by soon in the
new year."  John Redmond .
      This letter caught me in the middle of a veritiable orgy of stack
pumping, ( a new buzz phrase to me ) Inspired by "Why beginners use too many
variables" an article in FD. I can see his point now whereas reading Redmonds'
article the first time didn't sink in. Perhaps "stack pumping" is like
"pumping iron" it builds muscles and impresses young women.       It has
occured to me that since complaining and asking, the Universe has commenced to
shower a multitude of PD Forths for the ST. In return I offer Paintings,
Anyone who has contributed a PD Forth for the ST, is hereby entitled to a Jon
Sanford original. How the transfer will take place is up for discussion. I
just feel like comitting myself at this time.
      A final note; while looking in the Michtron section of GEnie, I saw
mention on  last january that they are also developing a Forth for the ST.
This won't be PD but... interesting.  later - jon - *s   E*s
 E
   b  >    0* ;KI  D   Y^fe  V  <   /wqb +&     
      I have just finished reading 30 messages in this topic, and it has seems
to have gone from what is Forth to history to comparison to other languages to
what makes it special to where is it going.  I was looking for where beginers
are asking questions and the more advanced are explaining stuff.  Nevertheless
it's so interesting Ive got to throw this stuff at it.
      According to Margaret Mead  "The essence of American democracy is the
concept of the creative individual in the creative community participating
freely in the development of his society."
      R.W.Emerson said something to the effect 'Its a problem of our language,
that in order to say something strongly, we must automaticly belie its
opposite.'
      What's special about Forth is that it originated by an act of profound
generosity, And was continued by sucessive acts of cooperation and
unselfishness.
      The survival of Forth, if I may use the Darwininan metafor, is as the
cockroach and small mammals, ubiquitous agility,  the ablity to mutate to fit
the conditions.  The power and glory may never be ours. The infinite loop is
our constant companion.  Am I loosing it? ...
      Ahem!  I never could understand why people say Forth enthusiasts are
Fanitics?
      The hidden strength is in the public domain there are legal mechanations
afoot that may put Forth in a different light as far as small companies and
independent programmers are concerned.
      Besides the Language there is a community of people who have been
attracted to a peculiar way of thinking, "I prefer to do it my way as much as
possible" may be the only thing we all have in common.
      As far as the dificulty of learning Forth is concerned, remember what
Euclid told the King.
      John Waverik  I don't know how to get back on your 4dec90 the
network/heading is criptic gobbdegook. I suppose USnail. ( How are you gona
get em to the post office after they've telecommunicated) 
      It looks like we got in on the middle of some intresting instructional
material.  I think I got the shaft in my early math education because nobody
clearified the difference between a "conventional system of notation" and
"natural laws". *s instructional material 
             E


b1
  C C
-----
This message came from GEnie via willett through a semi-automated process.
Report problems to: dwp@willett.pgh.pa.us or uunet!willett!dwp

ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) (12/11/90)

 Date: 12-08-90 (16:04)              Number: 423 of 429 (Echo)
   To: GARY SMITH                    Refer#: 403
 From: MICHAEL HAM                     Read: NO
 Subj: BASICS OF THE FORTH LANGU     Status: PUBLIC MESSAGE
 Conf: FORTH (58)                 Read Type: GENERAL (+)

 Here are my thoughts on Forth's identifying characteristics:

 1.   Extensible:  user adds commands to the language--same
           structure and action (executed by name) as native
           commands.

 2.   Resident compiler:  the compiler is part of the language
           itself and is factored into individual commands that
           can be used in ad hoc ways.

 1 & 2 -->  Extensible compiler.

 3.   Truly interactive:  new commands can be executed upon
           definition.

 4.   Modular:  each new command is a module.

 1 & 2 & 3 & 4 --> Prototyping language, useful for exploratory
      programming and incremental refinement/development.

 5.   Compact:  language and its programs require very little
           memory (due to implementation).

 6.   Application-responsive:  extensibility and modularity
           results in the programmer developing the language to
           match the applications, so that in time the word set
           is "tuned" to the common situations the programmer
           encounters in his/her specific applications.

      Another term for this characteristic:  Experience-driven
      development of (and extensions to) the language.  This
      applies to the development of Forth itself, as a language--
      it was created and shaped on the front lines, as it were, by
      practicing programmers, rather than in a university or
      research lab.

 7.   Minimalist language:  Forth embodies and embraces an economy
           of means.  This leads to the perhaps notorious lack of
           safeguards and compiler checking.

 Forth's easy accommodation of extensions to and revisions of the
 language is in its protean nature, so that any implementation may
 vary in its specifics from other implementations while still
 being consistent with the general rule of accommodating the
 programmer's intention.

 NET/Mail : LMI Forth Board, Los Angeles, CA (213) 306-3530
 <<<>>>
-----
This message came from GEnie via willett through a semi-automated process.
Report problems to: dwp@willett.pgh.pa.us or uunet!willett!dwp

yee@pawl.rpi.edu (Lester W Yee) (12/12/90)

Hello, I'm new to usenet and this newsgroup.  I like to know if there are
forth sources on anonymous ftp.  I'm looking for code to emulate a terminal  
in VT100 or VT220 mode.  Has anyone done or seen a terminal program written 
forth?  Thanks..

ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) (12/13/90)

 Date: 12-08-90 (19:08)              Number: 454 of 483
   To: RAY DUNCAN                    Refer#: NONE
 From: CHRIS WATERS                    Read: NO
 Subj: 1990 Forml                    Status: PUBLIC MESSAGE
 Conf: FORTH (58)                 Read Type: GENERAL (+)

 RD.and so on.  The very things that make Forth so powerful for a
 RD.programmer who already knows structured techniques and safe
 RD.design practices make the language unsuitable for a person with
 RD.NO understanding of machine architecture and NO background in
 RD.structured, modular programming.

 Well, after reflecting on this a little more, I've concluded that:

 1) Forth is certainly not the best frst language for a child, but,
 2) Forth is probably a decent first language to teach an adult.

 Conclusion two is based on quite a bit of personal experience.  I have
 taught Forth as a first language to several people.  But I confess,
 all of them were adults, or at least college students.

 And I'm not (repeat not) trying to say that Forth is the best first
 language to teach anyone!  I would, however, rate it above C (which
 suffers from all the objections you raised about Forth), Unstructured
 BASIC (about which said, the less the better), or APL (which I have
 tried, unsuccessfully, to learn three times myself).

 So, based on my own personal experience, I cannot agree that Forth is
 UNSUITABLE for a person with no understanding of computers or
 structured programming.  Not ideal, yes, but unsuitable, no.  Again, I
 find its interactive nature helps a lot for a newcomer.  (Which is why
 I rate it above C as a first language.)

 regards,
 Chris   R:-{O}
 ---
 MM2.1a *Abandon hope, all ye who press Enter here
 ---
  * SFUTI 3.01 / Now accepting UNIX files!
-----
This message came from GEnie via willett through a semi-automated process.
Report problems to: dwp@willett.pgh.pa.us or uunet!willett!dwp

ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) (12/15/90)

 Date: 12-10-90 (19:40)              Number: 501 of 514
   To: J.SANFORD1                    Refer#: 420
 From: CHRIS WATERS                    Read: NO
 Subj: Basics Of The Forth Langu     Status: PUBLIC MESSAGE
 Conf: FORTH (58)                 Read Type: GENERAL (+)

 JJ>      The survival of Forth, if I may use the Darwininan metafor,
 JJ>is as the cockroach and small mammals, ubiquitous agility,  the
 JJ>ablity to mutate to fit the conditions.  The power and glory may
 JJ>never be ours. The infinite loop is our constant companion.  Am I
 JJ>loosing it? ...

 Well, maybe a touch, but I like it.  (Though I prefer the comparison
 to small mammals, rather than the cockroach.  Perhaps Fortran might be
 better compared to the cockroach.  It's been around since the dawn of
 time, and nothing will ever kill it.)  ;-)

 I agree with your point that Forth is not necessarily the easiest
 language to learn, but truly useful tools are not always those that
 are easy to learn.
 ---
 MM 2.1a *response courtesy of Maas Biotech, AI division
 ---
  * SFUTI 3.01 / Now accepting UNIX files!

 PCRelay:THECAVE -> #559 RelayNet (tm)
 4.10               The Cave (408)259-8098 12/24/96/19.2 HST/DS
 <<<>>>
-----
This message came from GEnie via willett through a semi-automated process.
Report problems to: dwp@willett.pgh.pa.us or uunet!willett!dwp