Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!gem.mps.ohio-state.edu!apple!usc!bloom-beacon!eru!luth!sunic!mcsun!ukc!tcdcs!csvax1.cs.tcd.ie!swift.cs.tcd.ie!vax1.tcd.ie!trolfs
From: trolfs@vax1.tcd.ie (Tommy)
Newsgroups: comp.lang.forth
Subject: Welcome to comp.lang.forth (**2nd DRAFT**)
Message-ID: <2467@vax1.tcd.ie>
Date: 1 Oct 89 21:24:29 GMT
Organization: The Cat Pie Factory
Lines: 266


    Here is a second draft of the proposed Welcome poster. One more book
    reference has been added. A small history has also been added (taken
    form the F-PC User's Manaul).

    Let me know what you think of it. Have a vote.
    -------------------------------------------------------------------------
                              W E L C O M E 

                                   T O
     
                             COMP.LANG.FORTH

                 The FORTH Programming Language Newsgroup


     F O R E W O R D
    -----------------

    This is a monthly posting designed to introduce newcomers to the
    comp.lang.forth group and to the FORTH community. Whether you are a
    novice, intermediate or advanced Forther, comp.lang.forth will give 
    you the means to get in touch with others who share your interests 
    and needs, as well as providing a forum for discussions and ideas on
    FORTH. 

    If you are totally new to FORTH and would like to find out more about 
    it, then you will find this posting especially helpful.
   
    Welcome to comp.lang.forth.  





     C O N T E N T S
    -----------------

    * Introduction To comp.lang.forth
    * The History Of FORTH
    * The FORTH Language - A short description of FORTH 
    * Books On FORTH - Some recommended books on FORTH
    * On Line Information Service (OLIS)




    * Introduction to comp.lang.forth
     ---------------------------------
    
    Needless to say, comp.lang.forth is a newsgroup which is dedicated to
    discussions on the FORTH programming language. These discussions cover:

             + Tips, hacks, and examples of programming practises.

             + Ideas, proposals and problems for contemplation.

             + Using FORTH for common/special/bizarre applications.

             + What the future holds for FORTH, ie Standards, usage, 
               new fields/applications etc..

             + Whole range of computer science topics, eg expert systems,
               object oriented programming, interfaces etc..  

             + Hardware applications, FORTH chips, computer architecture.

             + Anything else that's interesting.

      Also found are:

             + Requests for help, information etc...

             + Light relief (:-)

             + News about happenings in the FORTH community 
                (eg FIG and local Chapter groups)


    The amount of traffic which goes through the group is quite low,
    but the quality of articles is very high. Of course, this
    shouldn't deter new people from writing their own, far from it.
    One of the nicest things about the group is the encouragement and
    support that newcomers to FORTH and the FORTH community get (and 
    I'm speaking from experience). So, put finger to keyboard and let 
    us know what you're up to.



    * The History Of FORTH
     -------------------------

This is an extract from the F-PC User's Manual.
    ....
Forth was invented by Charles Moore in the 1960's as he developed
specialized tools for various applications.  It was formalized into a
programming language for telescope automation while Mr. Moore was with the
National Radio Astronomy Observatory.  As this work was supported by public
funds, Forth was born as a public domain software package which followed
telescopes to many different countries.  In 1972 Mr. Moore left NRAO to
form FORTH, Inc. in order to market Forth systems and services.
Implementations developed in FORTH, Inc. were proprietary and their usage
required license from FORTH, Inc.  However, a copy of Forth for PDP-11 was
released to DECUS, the DEC Users Group, which became the only readily
available public domain Forth for many years.

Forth Interest Group was organized in 1978 to encourage the use of Forth on
small personal computers, which gradually became available for individual
users.  One major effort by Forth Interest Group was the formation of Forth
Implementation Team lead by Bill Ragsdale to build figForth and put it in
the public domain for general distribution.  Because figForth was
implemented on many microprocessors based on a single model and released
with complete source listings, it became the de facto standard of Forth on
personal computers, eclipsing polyForth which was by then the main product
from FORTH, Inc......

The other major objective of Forth Interest Group was to establish a
standard definition of Forth as a programming language.  Forth Standards
Team was organized in 1978.  It took the Forth-77 Standard developed by
Forth users in Europe and produced Forth-78 Standard.  It was very
unsatisfactory and was almost immediately reworked into the Forth-79
Standard which was accepted by Forth Interest Group for promotion.
However, Forth Interest Group also decided that it would not publish
implementations and only encouraged Forth vendors to provided
implementations and support.  The only major public domain Forth supporting
Forth-79 Standard was MVP-Forth written by Glenn Haydon and distributed by
Mountain View Press.

Forth Standard Team continued the refinement of Forth language and
published the Forth-83 Standard in 1983.  Again, Forth Interest Group
supported and promoted it, but did not provided any implementation.  Henry
Laxen and Mike Perry felt that the Standard could not spread without a
faithful and useful implementation.  They implemented a comprehensive model
on 8080, 8086, and 68000 processors with fairly uniform and transparent
interfaces to the CP/M and MS-DOS operating systems.  This public domain
F83 model found wide acceptance, especially among IBM PC users after it was
listed in the PC-SIG catalog. ......

                                                Dr. C. H. Ting
                                                Documentation Coordinator
                                                F-PC Working Group
    




    * The FORTH Language - A short description of FORTH 
     -------------------------------------------

    Here follows a brief description of the language, to give you an
    idea of what FORTH is like, if you have never seen it before.

    FORTH consists of, basically, 3 things(*):

         1) a DICTIONARY

         2) an INTERPRETER/COMPILER
       and
         3) a DATA STACK (integers): Also known as the PARAMETER 
                                      STACK

     The DICTIONARY is a collection of FORTH WORDS. WORDS are
    equivalent to FUNCTIONS in C and are called (executed) just by
    typing their name. New WORDS are created using existing ones and
    are compiled one at a time, therefore, once a new WORD is compiled
    it becomes part of the language. This gives very fast turn around
    times, due to the incremental compilation, and makes FORTH an
    extendable language which you can tailor to you specific needs
    (FORTH is often refered to as a META-LANGUAGE). 

    The DATA STACK is usually used for parameter passing. For example, 
    in FORTH there is a word called "+" (plus) which pops the top two 
    items from the stack, adds them and pushes the result back on.

    The INTERPRETER/COMPILER is itself a FORTH WORD called INTERPRET. 
    Put simply (ie. ignoring compilation), INTERPRET checks for two 
    things; numbers and names of WORDS. Numbers are pushes on to the 
    DATA STACK and WORDS, whos names have been typed, are executed. 

    For example, if we want to add two integers and show the result then 
    we would type in the following: 

     123 56 + .    179 Ok

    FORTH interprets from left to right, so that 123 and 56 are first 
    pushed on to the PARAMETER STACK. Then the WORD "+" is executed. And
    Finally, the WORD "." (period) is executed. ["." (period) prints out 
    the top item on the STACK]

    This is a very simple example, just to give an idea of what FORTH is
    like. There is *MUCH* more to FORTH than can be covered here and some
    suggested reading material is given in the next section. FORTH is
    well worth a look at, even just for its uniqueness alone.   
    
     (*) The description given here is very simplified and brief.
         Hopefully, I will have a more complete and in depth
         introduction to FORTH available from OLIS.




    * Books On FORTH - Some recommended books on FORTH
     -----------------------------------------------

    Some suggested books for casual reading:

       - "Thinking Forth, 
           a language and philosophy for solving problems" , Leo Brodie.


    Some books for reference:

       - "Threaded Interpretive Languages", R. G. Loelinger 


    Some Books for FORTH tuition (*):

       - "Starting Forth", Leo Brodie (2nd Ed.)
       - "Mastering Forth", by Martin Tracy (2nd Ed.)    

     (*) FORTH is best learnt if you have FORTH running on your
         computer, while you read.


    [ These are all the books I can think of off the top of my head.
     Let me know of any other literature which should be included ]


    
    * On Line Information Service
     -----------------------------

                           ****** O L I S ******

                        On Line Information Service

         FORTH is not the an easy language to get to know easily.
         It's a language which needs to be understood very well before
         real gains can be made from it. It usually takes a good deal
         of work to get to grips with FORTH and, more importantly, to
         tap its full potential (the rewards are well worth it). The 
         idea behind OLIS is to make this task a lot easier by
         providing information, references, tips and whatever else will 
         help to the adventurous few who want to explore FORTH.

         OLIS is a home grown mail server which resides in my account 
         at "TROLFS@vax1.tcd.ie". It is very new and limited in 
         resources. There are few files at the moment, but over time 
         they will increase as I steal articles from here and there 
         (mainly from comp.lang.forth) and also type in info from other 
         sources. I hope that the main bulk of information will come 
         from people on the net, in the form of small snippets of info. 

         To find out more about OLIS, just send mail to
         "TROLFS@vax1.tcd.ie" with the subject line "OLIS:REQUEST" and
         put the word "HELP" somewhere in the body of the message.

         If you have any queries or comments, then just mail me at the
         same address. - Tommy (OLIS Developer/Janitor)
-- 
 Tommy                                       E-mail: trolfs@vax1.tcd.ie 
                   //  Amiga 500.
                \\//     What's your's called?         $P-)
-----------------\X-----------------------------------------------------
"It's when they say 2 + 2 = 5 that I begin to argue."
-- Eric Pepke