trolfs@vax1.tcd.ie (Tommy) (07/12/89)
I want to volunteer a suggestion that comp.lang.forth have a monthly "Introduction to comp.lang.forth" posting.(It's only a suggestion) Its seems to me (though it's probably not be as bad as I imagine) that there are a lot of articles to the effect of "Can anyone tell me what Forth I can get for such-and-such computer?" or "Does anyone know of any books/papers which cover this-or-that theme?". I, myself, am one of these poor souls who find themselves asking questions that I know have been already brought up before. I just bought an Amiga 500 which was a big surprise to ME. I used to only dream of getting one, when suddenly my old man gives me a bundle of cash and says "Go get her, Son!" (who said Dads weren't understanding!). Now, still recovering from shock, I find myself needing to ask "Does anyone know what Forths I can get for the Amiga?" and I know that there has already been a discussion on Forths for the Amiga only a month or two ago. As it turns out someone else has asked anyway, so I'm saved. The real problem is that people get tired of replying regularly to the same questions and in the end they don't bother to reply at all. Someone new to the group might take this as less than friendly and give up on Forth (worest case scenario). This got me thinking about a monthly "help" posting, something which I feel would add to the group (help new comers greatly). This is nothing new and I think it has been discussed here before. Of course, finding a person or persons to help make this poster(s) and look after it/them is another story. Anyway, mail me your comments. -- Tommy IV // Amiga 500. $P-) \\// What's your's called? E-mail: trolfs@vax1.tcd.ie -----------------\X----------------------------------------------------------- To write good code is a worthy challenge, and a source of civilized delight. -- stolen and paraphrased from William Safire
trolfs@vax1.tcd.ie (Tommy) (09/22/89)
Ok, here it is. A draft of the proposed comp.lang.forth monthly posting, entitled "Welcome to comp.lang.forth". Now, I'm not really the right person to write such an important article, but hopefully this effort will result in a final version that everyone likes. So, have a read and then start flaming:-). -------------------------------------------------------------------------- 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 ------------------------- FORTH is the creation of one man, Charles H. Moore.... [ Maybe someone with a better knowledge of the history of FORTH could write a small interesting piece on this] * 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 + . <RETURN> 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.) (*) FORTH is best learnt if you have FORTH actually 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 properly. 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 effort is 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 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----------------------------------------------------- "Ignorance is the soil in which belief in miracles grows." -- Robert G. Ingersoll
bradford@maccs.dcss.mcmaster.ca (Bradford Rodriguez) (09/28/89)
Let me suggest another book for newcomers, "Mastering Forth" (second edition) by Martin Tracy. It seems to be quite good, and may be more available than "Starting Forth" in some areas (a recent trip with a friend to a shopping-mall bookstore turned up a copy of the former but not the latter.) Brad
trolfs@vax1.tcd.ie (Tommy) (10/02/89)
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 + . <RETURN> 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
trolfs@vax1.tcd.ie (Tommy) (10/10/89)
I think that the format and contents of this 'DRAFT' can be taken as the final version of the "Welcome To comp.lang.forth" posting. Unless I get lots mail saying "No don't", I will post this article on the 1st of every month (or there abouts). Of course, it's not brilliant and if anybody has any suggestions on improvements (lots of room for improvement), corrections, additions etc... then let me know. Anyway, this should be a good enough to start off with. Enjoy! - Tommy. ------------------------------------------------------------------ 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 brief 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 ranges 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 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 adding their input. 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 or if you have any questions about FORTH. * 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 brief description of FORTH (*) --------------------------------------------------- Here is 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 (holds 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 immediately becomes part of the language and it itself can be used to describe new WORDS. 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 [To get a better idea of the philosophy behind FORTH, ie. the use of WORDS, read "Thinking Forth" by Leo Brodie]. The DATA STACK is usually used for parameter passing between WORDS. For example, in FORTH there is a WORD called "+" (plus) which works by popping off the top two items from the DATA STACK, adding them and pushing back on the result. An example is given further 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 pushed 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 + . <RETURN> 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, 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 ----------------------------------------------- Recommended book for casual reading: - "Thinking Forth, a language and philosophy for solving problems" , Leo Brodie. Some books for reference: - "Threaded Interpretive Languages", R. G. Loelinger. - "F83 Source", H. Laxen & M. Perry. Some Books for FORTH tuition (*): - "Starting Forth", Leo Brodie. (2nd Ed.) - "Mastering Forth", Martin Tracy & Anita Anderson. (2nd Ed.) - "FORTH: A text and reference", M. G. Kelly & N. Spies. (*) FORTH is best learnt if you have FORTH running on your computer, while you read the text. * On Line Information Service ----------------------------- ****** O L I S ****** On Line Information Service FORTH is not the an easy language to learn. Of all the languages going, it has to be, initially, one of the hardest. It's a language which needs to be understood well before real gains can be made from it. This understanding can be very hard to achieve if you don't have a good comprehensive knowledge base to draw from. The idea behind OLIS is to provide this 'knowledge base' to help novice and intermediate Forthers. OLIS is a home grown mail server which resides in my account at "TROLFS@vax1.tcd.ie" (192.35.207.59). Through OLIS, files, containing information on different aspects of FORTH, can be requested. Hopefully, these files will provide an easy no-hassel way to find out more about FORTH. OLIS is very new and limited in resources. There are few files at the moment, but over time they will increase as I take articles from here and there (mainly from comp.lang.forth). However, I hope that the main bulk of OLIS's 'knowledge' will come from people on the net, in the form of small snippets of information. 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) DISCLAIMER: OLIS is in no way connected with Trinity College Dublin. OLIS is run from my own account, on my own time. TCD have no obligation to support OLIS and can have OLIS discontinued at any time they feel necessary (Hopefully they won't:-( ). ------------------------------------------------------------------------ -- Tommy E-mail: trolfs@vax1.tcd.ie // Amiga 500. \\// What's your's called? $P-) -----------------\X----------------------------------------------------- We are going to have peace even if we have to fight for it. - Dwight D. Eisenhower