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