Trace: » forth06.html

[hemmerling] FORTH 6/7

Literature

English Books & Magazines

Magazines

  1. ACE User Fanzine / FORTH User Fanzine / Jupiter ACE FORTH User Group.
  2. “The Computer Journal. Providing Support Around The World. Small Scale Computing Since 1983. Supporting the Trailing Edge of Technology. Hands on hardware and software”, ISSN 0748-9331 - “TJC = For Having Fun With Old Computers!”.
  3. 6502.org "Documents Archive" - Dr.Dobb's Journal 1976-1990. The issues contain some articles about FORTH!
  4. FIG UK "Forthwrite" ( 1998 - 2004 ).
  5. Online magazine Archive.org "SoftSide Magazine #36 - Alternatives to BASIC" ( not: ”SoftSide Magazine Issue 51:-( ).

Publications

  1. “Association for Computing Machinery's Special Interest Group on Forth”.
    • “Newsletter of the Association for Computing Machinery's Special Interest Group on Forth / Association for Computing Machinery / Special Interest Group on Forth. - New York, NY : ACM Press, 1989-1993” - Available at TIB :-), but not available for loaning out :-(.
    • “ACM SIGForth newsletter / Association for Computing Machinery / Special Interest Group on Forth. - New York, NY : ACM Press, 1989-1994”.
  2. “FORML”.
    • “FORML article reference : a listing of Forth articles from FORML conference proceedings, the euroFORML and euroForths from 1980 thru 1993 / Forth Modification Laboratory” ⇒ Can be loaned out, at TIB - “RO 2050(Ind, 1980-93)” - :-).
    • Several other papers are available at TIB :-), but not available for loaning out :-(.
  3. “Institute for Applied Forth Research”.
    • Several papers are available at TIB :-), but not available for loaning out :-(.

Publications about FORTH with Realtime Applications ( = Real-Time Applications ), Process Control and Embedded Systems

With FORTH
Resources

Books

    • The document refers to the fig-FORTH standard.
  1. Book Boris Allan: "Functional FORTH for the B. B. C. Computer" ( “Functional Forth for the BBC Computer” ), 1983. TIB “Haus2, FJ 1770” :-).
  2. Anita Anderson, Martin Tracy.
      • Documents:
        • Free online and PDF manual “FORTH-79 Tutorial and Reference Manual (Apple II Version)” by Anita Anderson, Martin Tracy, Philip Wasson, Micromotion.
        • Free online and PDF manual “FORTH-79 Floating Point Arithmetic and HiRes TurtleGraphics Manual. Apple II Version” by Anita Anderson, Steve Tabor, Martin Tracy, Philip Wasson, Micromotion”.
      • The documents refer to the FORTH-79 standard and the MicroMotion FORTH.
      • Editions:
        • 1984, TIB “Haus2, FJ 5885” :-).
        • 1989, revisioned and expanded edition, TIB “Haus2, FJ 5885/1989” :-).
      • Z-Library "Anita Anderson, Martin Tracy: Mastering FORTH", 1989 - “Revised and Expanded” ( 2nd. edition ).
      • “In this book, we will introduce you to each of the commands required by the FORTH-83 Standard”.
      • Named FORTH-83 implementations:
        1. UR/FORTH 1.0 by Laboratory Microsystems, Inc.
        2. PolyFORTH ISD-4 1.0 by Forth, Inc.
        3. F83 2.1.0, a popular public-domain dialect by Henry Laxen and Michael Perry. We will refer to this as L&P F83.
        4. MacFORTH Plus 3.53 by Creative Solutions, Inc.
        5. MasterFORTH 1.2.4 by Micromotion Products, Inc.
        6. ZEN 1.0, a simple subset of MasterFORTH.
  3. Arconsoft.
      1. Documents “Acornsoft - Forth Disassembly”, contributed by Ed.
      2. Document “Acornsoft - Forth, Fitting Instructions”, provided by Peter Lloyd.
        • “FORTH can be called from other languages, eg BASIC, by typing
           
          *FORTH
        • The minimum abbrevision allowed is
          *FORT.
          *FOR.
          *FO.
        • “The book 'FORTH on the BBC Microcomputer and Arcon Electron' describes all the commands for the disk and cassette versions of FORTH. Since the ROM version is very similar to these, this book is strongly recommended as user Guide for the Arconsoft FORTH ROM. THe few differences which occur are listed below”.
          • “The Editor and Assembler vocabularies are resident and are functionally identical to the disk and cassette versions. A machine code version of MATCH is provided so that the words SAME, CCOUNT, 1MATCH and MATCHES, used by the high-level version, are not present”
          • “Full text error messages are given. Unused error messages display the error number to allow for user defined errors”.
          • “The two words: ST-ADDR and START-KEYS have been deleted from the dictionary. None of the function keys are programmed on starting up as this is only necessary when running FORTH from the BASIC ROM”.
          • The following words have been added:
            $MSG (DISK) <CMODE ?FILE ?R/W HIADDR HIMEM MODEADDR MOVE-BUFFERS PAGE SSV
          • Complete list of FORTH words:
            $MSG PLOT MOVE-BUFFERS <CMODE WHERE LINE TEXT MORE ANOTHER PROGRAM CLRSCR SAVE LOCATE EDITOR CODE ?CURRENT ASSEMBLER TRIAD INDEX 79-STANDARD LIST CREATE-SCREENS TAPE ?R/W TR/W TW TR 4HEX SS--> FLUSH SAVE-BUFFERS DISK (DISK) LOAD BLOCK BUFFER UPDATE (UPDATE) +BUF INITBUF SETBUF EMPTY-BUFFERS #BUF PREV USE BUFSZ MINBUF R/W DR/W OPEN FNAME CHANNEL MAXFILES S/FILE (R/W) CLOSE (OPEN) KEY' OS' >CLI (CLI) ($+) STRING OSCLI ROLL PICK .S DEPTH FORGET PRUNE INITVECS TO-DO DOVEC ASSIGN EXVEC: NOVEC VLIST ' REPEAT WHILE AGAIN UNTIL BEGIN ELSE THEN IF +LOOP LOOP DO BACK J 2/ 2* MESSAGE MSG# H. DEC. ? U. . .R D. D.R. #S # SIGN #> <# SPACES M/MOD */ */MOD MOD / /MOD * M/ MABS D+- +- S->D WARM COLD START MODE OSERROR ESCAPE ABORT (ABORT) (WARM) DEFINITIONS QUIT FORTH VOCABULARY INTERPRET NUM (NUM) ( NUMBER ; : ?STACK DLITERAL LITERAL <COMPILE> CREATE (CREATE) ID. ERROR FIND -FIND CONVERT WORD 1WORD WBFR WDSZ (WORD) HOLD BLANKS ERASE FILL MOVE QUERY EXPECT (EXPECT) ." (.") TEXT, -TRAILING TYPE COUNT 0> DOES> ;CODE (;CODE) CR DECIMAL HEX ?TAB NOOP ] [ COMPILE IMMEDIATE ?LOADING ?CSP ?PAIRS ?EXEC ?COMP ?ERROR !CSP NOT PFA CFA NFA LFA U< > = - SMUDGE LAST C, , SPACE ALLOT HERE 2- 1- 2+ 1+ HLD R# CSP DPL BASE STATE CURRENT CONTEXT OFFSET SCR OUT >IN BLK VOC-LINK DP FENCE WARNING WIDTH TIB R0 S0 +ORIGIN B/SCR B/BUF LIMIT FIRST PAD C/L BL 2 1 0 -1 -2 USER VARIABLE CONSTANT R; R: TOGGLE +! ! CPAGE TRAVERSE ROT 20VER OVER 2SWAP SWAP 2DUP ?DUP DUP 2DROP DROP DNEGATE NEGATE D+ + D< < 0< 0= LEAVE >< R> >R R@ EXIT KEY (KEY) ?KEY XOR OR AND U/ U* CMOVE >VDU EMIT (EMIT) RP! SP! RP@ SP@ ENCLOSE (FIND) DIGIT MODEADDR HIADDR (DO) I (ULOOP) (+LOOP) (LOOP) 0BRANCH BRANCH @EXECUTE EXECUTE LIT OK
          • The FORTH-79 words ”[”, ”]” are displayed as arrows ( ”←” and ”→” ).
      • “The BBC Microcomputer USER GUIDE”, 1982 by John Coll, edited by David Allen.
      • “BBC Microcomputer System User Guide”, 1984 by John Coll, edited by David Allen.
        • Page 11 “Holding down CTRL and SHIFT together stops the computer 'writing' to the screen. This can be useful if it is writing faster than you can read”.
        • Page 14 “CTRL N makes the computer stop at the bottom of each page, etc., etc.”.
        • Page 14 “^~|\ {[ ]} - These keys can be somewhat confusing because they seem to generate the wrong characters sometimes. The problem is that there are two international standards for displayed characters (Teletext and ascii) and the BBC Computer can display both. mode 7 generates the Teletext display characters and modes 0 to 6 show the ascii characters. But don’t worry, the computer recognises the key correctly regardless of what it has to display on the screen”.
      • “Master Series. REFERENCE MANUAL Part 1”.
      • “Master Series. REFERENCE MANUAL Part 2”.
  4. Book Margaret A. Armstrong: "Learning FORTH", 1985. TIB “Haus2, FJ 5823” :-).
      • No PDF download.
      • Without login to a free account: “Limited preview. Some pages are ommited. Use your free account to borrow this book and gain access to all pages”.
      • With login with free account:
        • “Renewable every hour, pending availability. Borrow for 1 hour / 14 days”.
        • “14 day loan required to access EPUB and PDF files”.
    • Contents:
      • It is less a traditional lecture, but an interactive paper learning book: Each chapter is a series of short text passages, followed by questions with space to fill-in answers.
      • “After you have completed this book... you should be ready to move to intermediate-level programming in FORTH. Leo Brodie's Starting FORTH is a good intermediate text”.
      • “Four major FORTH systems are available on the market: Poly-FORTH, FORTH-79, FIG-FORTH, and MMSFORTH... In 1978-1979, a group of European and American programmers met to establish international standards for FORTH. Out of these meetings came FORTH-79 (FORTH Standard), which guided other FORTH versions but which itself has not been widely distributed. Work is now progressing on an updated FORTH Standard, FORTH-83”.
      • “Appendix B. Bibliography and Tips on Networking” suggests books based on figFORTH and FORTH-79.
        • Intermediate Texts:
          • Leo Brodie: Starting FORTH: Introduction to the FORTH Language and Operating System for Beginners and Professionals
          • Thom Hogan: “Discover FORTH: Learning and Programming the FORTH Language”
        • More Advanced Texts:
          • Leo J. Scanlon: “FORTH Programming”.
          • Kevin McCabe: “FORTH Fundamentals: v. 1”.
        • Reference Texts:
          • M. Derick; L. Baker: “Pocket Guide to Forth”.
          • Kevin McCabe: “Forth Fundamentals Volume 2 Language Glossary”.
      • “Appendix C. Glossary of FORTH Words - Acknowledgement is hereby given to the FORTH Interest Group ..., which is the source of most of the entries in this glossary. Acknowelegement is also given to Michell E. Timin, who provided the final draft of this glossary in the form of th TiminFORTH User's Manual”.
    • The book refers to the fig-FORTH and FORTH-79 standards, implicitely. It also discusses PolyForth and MMS-Forth.
  5. Document “And so Forth...” by J.L. Bezemer.
  6. Leo Brodie.
  7. Book Owen N. Bishop: "Exploring FORTH", 1984. TIB “Haus2, FH 2487” :-).
  8. Book J.W. Brown: "Welcome Forth", 1982 ( not available in TIB :-( ).
  9. Book “FORTH: Fourth Generation Language” by Steve Burnap.
    • “TIB Haus2, FJ 2358”.
    • ## NOT YET CHECKED BY ME ##.
    • “76 pages” :-(.
    • Errata in:
          • “CORRECTIONS TO METAFORTH. John J. Cassady. 339 15th Street. Oakland, CA 94612.
            • The following corrections to the Fig-FORTH cross-compiler, METAFORTH, by John Cassady should be noted:
              • page 26 screen 66 line 7 should read
                KISR H LXI SRA5 SRLD 12 ORG + LHLD SPHL
                NEXT JMP
                
              • page 38 dumped memory location 798C should be 6A.
              • A few lucky purchasers will have noted that they possess those rare copies of METAFORTH in which pages 8 and 9 are swapped. METAFORTH, by the way, is a cross-compiler for Fig-FORTH. It can be used to regenerate a FORTH system including the nucleus without resort to an external conventional assembler. This is helpful when modifying low level words, generating “stand-alone” applications, converting to FORTH-79 and the like. A special section is devoted to generating headless configurations vith the same or different processor”.
  10. Book Paul M. Chirlian: "Beginning Forth", 1983 ( not available in TIB :-(, but available in TIB in German language :-) ).
  11. Stephen A. Cohen.
  12. Document “HartForth - A 79-standard Forth compiler” by A. M. Graham, 1983.
    • The book refers to the FORTH-79 standard.
          • “Hartforth: Forth compiler by Andrew M. Graham (*) - Model I/III” - The readme.txt of the archive “forth5-1.zip” contains corrections for the user manual “forth.pdf”
             >>>>> Documentation Update <<<<<
            ==============================================================
            09/15/88 - Please make the following correction in the manual:
            page: 26 -- R should be R@
                  28 -- (blank)     @
                        C           C@
                  29 -- <           <#
                        (blank)     #
                        S           #S
                        >           #>
                  35 -- IN          #IN
                        D IN        D#IN
                  36 -- 2           2@
                  37 -- "           "@
                  41 -- F           F@
            -----
            Please make the following correction in the manual:
                 page 36: Screen Editor
                      control I (not control P) for "Put line..."
                      control K (not control E) for "Empty the entire..."
            Note: CONTROL is obtained by simultaneous depression of the
            SHIFT and DOWN-ARROW keys.
            ==============================================================
            
          • “Documentation: Text / PDF / Word 97 / Scripsit”.
  13. Richard De Grandis-Harrison ( = Richard DeGrandis-Harrison ).
      • 8-Bit Software "Richard De Grandis-Harrison: FORTH on the BBC Microcomputer" ( ZIP, PDF ) - “Acornsoft - Forth on the BBC Microcomputer” (SBD03), provided by Steven Flintham.
      • The book refers to the FORTH-79 standard.
      • “Appendix A”
        1. *”The FORTH-79 Standard”.
        2. “1 System requirements” ( Acornsoft FORTH are in brackets ).
          1. 2000 ( 5000 ) min ! bytes of memory for application dictionary.
          2. Data stack of 64 ( 72 ) bytes.
          3. Return stack of 48 ( 234 ) bytes.
          4. Mass storage capacity of 32 ( 90 or more ) blocks,numbered consecutively from zero.
          5. One ASCII input/output device acting as an operator's terminal ( keyboard + VDU ).
        3. “2 Required word set” ( about 145 words ).
          1. 73 nucleus words:
            ! * */ */MOD + +! +loop - /MOD 0< 0= 0> 1+ 1- 2+ 2- < = > >R ?DUP Q ABS AND BEGIN C! C@ colon CMOVE constant create D+ D< DEPTH DNEGATE do does> DROP DUP else EXECUTE EXIT FILL I if J LEAVE literal loop MAX MIN MOD MOVE NEGATE NOT OR OVER PICK R> R@ repeat ROLL ROT semicolon SWAP then U* U/ until variable while XOR
          2. 35 interpreter words:
            £, £> KS ' ( -TRAILING 79-STANDARD <K >IN ? ABORT BASE BLK CONTEXT CONVERT COUNT CR CURRENT DECIMAL EMIT EXPECT FIND FORTH HERE HOLD KEY PAD QUERY QUIT SIGN SPACE SPACES TYPE U. WORD
          3. 29 compiler Words:
            +LOOP , ." : ; ALLOT BEGIN COMPILE CONSTANT CREATE DEFINITIONS DO DOES> ELSE FORGET IF IMMEDIATE LITERAL LOOP REPEAT STATE THEN UNTIL VARIABLE VOCABULARY  WHILE [ [COMPILE] ]
          4. 8 device words:
            BLOCK BUFFER EMPTY-BUFFERS LIST LOAD SAVE-BUFFERS SCR UPDATE
  14. Mitch Derick, Linda Baker.
    1. Book “Pocket Guide to Forth” by M. Derick; L. Baker ( not available in TIB :-( ).
  15. “Dr. Dobb's Toolbook of FORTH”.
    1. Book Dr. Dobb's Toolbook of FORTH Paperback – 1 Jan. 1987, Marlin Ouverson "Dr. Dobb's Toolbook of Forth" ( = Volume I ) - “This collection of programs and tutorials on the Forth programming language has been drawn from Forth articles in 'Dr Dobb's Journal', revised and expanded where necessary and combined with new Forth material. Aspects of the language covered include the Forth philosophy, programs, mathematics and implementations. A computer disk containing source code, formatted in MS/PC-DOS, is available”. TIB “Haus2, FJ 9397(1)” :-).
    2. Book Dr. Dobb's Toolbook of FORTH Paperback – 1 Nov. 1987, 1987 ( = Volume II ) - “Picks up where the first volume of 'Dr Dobb's Toolbook of Forth' leaves off, and offers information on the most recently developed tools that can help Forth programmers improve their skills. Also available is a disk formatted in MS/PC-DOS which contains the screens from the book as ASCII files. The articles and material in this book are drawn from 'Forth Dimensions', 'Journal of Forth' and 'FORML'”. TIB “Haus2, FJ 9397(2)” :-).
  16. “A 'Tour De FORTH' with eFORTH” by Charles E. Eaker, 1983.
  17. Manual “48/80 Forth” by East London Robotics, 1983.
  18. Book Glyn Emery: "The students' FORTH", 1985. TIB “Haus2, FH 9299” :-)
    • The free online and PDF book Archive.org "Glyn Emery: The students' FORTH".
    • The book refers to the FORTH-79 and FORTH-83 standards.
    • “This textbook provides information on using and implementing FORTH and is aimed at readers with some experience of programming in another language such as Basic. FORTH-83, the new implementation, is used throughout the book. The differences between this and the widely-used FORTH-79 are discussed, and in addition the author refers to MMSFORTH and the multi-user version POLYFORTH”.
  19. Book “The Caltech FORTH manual” by Martin S. Ewing. TIB “Haus2, FF 2895,2” :-).
  20. Book “FORTH on the Atari : learning by using” by Ekkehard Floegel, 1982.
  21. Book “Forth Programming for the IBM PC and PC XT” by William M. Fuori, 1986 ( not available in TIB :-( ).
  22. Book Ron Geere: "Forth: The Next Step", 1986. TIB “Haus2, FJ 7359” :-).
    • The free online and PDF book Archive.org "Ron Geere: Forth: The Next Step".
    • The book refers to the FORTH-79 and fig-FORTH standards.
    • “There are, however, variants in the language and some word definitions can be in the native code of teh machine in use and probably will not transfer directly to a different processor type. These Forth dialects are usually not too different but where a difference is known to exist, this has been noted in the text. Additionally most differences are between FigForth and the '79-standard and are listed in Chapter 1. At the time of writing these two standards, although superseded, are still dominant in number. Variants considered are FigForth, '79-standard and '83-standard. Commercial variants such as MMS-Forth and PolyForth are not covered in this book because their comprehensive vensor support renders it unnecessary. Where CODE definitions are used, 6502 code is used with high-level Forth equivalents also included where applicable”.
  23. Greenarraychips “PolyForth Reference Manual”.
  24. Book Richard E. Haskell: "Design of Embedded Systems Using 68Hc12/11 Microcontrollers", 1999. TIB “Haus2, T 00 B 680, with 3.5 floppy disk” :-).
    • “It shows how WHYP (a version of Forth written specifically for this book) can be used to program the new 68HC12 microcontroller in an efficient and interactive way. It includes an abundance of worked examples and complete C++ code for the WHYP host that runs on the PC”.
      • “To practice Forth on a PC you can use 'The Forth Course', a set of 11 lessons that use F-PC, a public domain, DOS-based Forth for the PC”.
        • “WHYP, which is pronounced whip and stands for Words to Help You Program”.
        • “WHYP is a subroutine threaded Forth which means that WHYP words are just the names of 68HC12(11) subroutines... The names of all WHYP words (subroutines) are stored in a dictionary that is maintained in the PC. We want to be able to “talk” to the target system by typing a WHYP word on the PC and having the corresponding WHYP subroutine execute on the target system. We do this by sending the address of the subroutine over the serial line to the target system... WHYP is run from a DOS prompt by typing WHYP12 (or WHYP11) at which point it looks like normal Forth. Each time a colon definition written, either by typing it on the keyboard or loading it from a file, the 68HC12 subroutine corresponding to the new word is downloaded to the target board at which point it is available to use”.
      • ResearchGate "WHYP - A C++ Based Version of ouForth for the Motorola 68HC11". Abstract - “The C++ program communicates with a 192-byte kernel that resides in the target system. WHYP contains four kinds of Forth words: primitive Forth words written in the native assembly language of the target; high-level, common Forth words written as colon definitions; high-level Forth words that are specific to the operation of the target microcontroller; and compiler-type Forth words that are written as C++ functions in the PC program. All header and dictionary information is maintained in the C++ program in the PC and only executable, subroutine-threaded code is resident in the target system. An example of WHYP that contains 107 primitive and over 170 high-level Forth words stored in less than half of the 12-Kbyte EPROM of a 68HC711E9 running in the single-chip mode on Motorola's EVBU board is presented”.
  25. Glen B Haydon.
    • The books refer to the FORTH-79 standard, as implemented with MVP-FORTH.
    • Books.
      1. Book “The FORTH Guide” by Glen B. Haydon.
      2. Series of books “MVP-FORTH Series”, 1st. edition.
        • “MVP-FORTH Series / 2, MVP-FORTH Source Listings : 8080, CP/M. IBM-PC. APPLE II”, 1984, by Glen B Haydon. TIB “Haus2, FJ 2595(2)” :-).
        • “MVP-FORTH Series / 4, MVP-FORTH Expert System Toolkit : Knowledge-based inference program”, 1984 by J. Park. TIB “Haus2, FJ 2595(4)” :-).
        • “MVP-FORTH Series / 5, Data Security and file management system on MVP-FORTH”, 1983, by P. Moreton. TIB “Haus2, FJ 2595(5)” :-).
        • “MVP-FORTH Series / 6, MVP-FORTH Expert-2 [two] Tutorial”, 1984, by M. Derick and L. Derick. TIB “Haus2, FJ 2595(6)” :-).
        • “MVP-FORTH Series / 7, FORTH Guide : An exploration of the intricacies of MVP-FORTH”, 1985, by Glen B Haydon. TIB “Haus 2, FJ 2595(7)” :-).
        • “MVP-FORTH Series / 8, Professional Applications Development System (PADS) for IBM/PC/XT/AT”, 1985, by Thomas E. Wempe. TIB “Haus2, FJ 2595(8)” :-).
        • “MVP-FORTH Series / 9, Word Processor and calculator development system”, 1985, by Thomas E. Wempe. TIB “Haus2, FJ 2595(9)”.
        • “MVP-FORTH Series / 10, Word processor and calculator development system source” by Thomas E. Wempe. TIB “Haus2, FJ 2595(10)” :-).
      3. Series of books “MVP-FORTH Series”, 2nd. edition.
        • Book “MVP-FORTH Series, Teil: 1: All about FORTH : an annotated glossary of common FORTH ideograms”, 3.print, by Glen B Haydon. TIB “Haus2, FJ 2595(1),2” :-).
        • Book “MVP-FORTH Series, Teil: 2: FORTH floating Point”, 2. ed., completely rev, by P.J. (Paul) Koopman. TIB “Haus2, FJ 2595(3),2” :-).
  26. Shareware document “Real Time Forth” by Tim Hendtlass - Associate Professor Scientific Instrumentation Group Physics Department, Swinburne University of Technology -, 1993.
  27. Online book concept “Building Forth” by “Immortalin”, uncompleted.
  28. Manual “tForth Manual. Documentation for the Programming Language of the Canon Cat” by Information Appliance, Inc..
  29. Book David Johns: "A beginner's guide to Forth", 1984 ( not available in TIB :-( ).
  30. Paul A.C. Kail.
    1. Book “An Introduction to FORTH”, 1984.
    2. Book “Forth : a complete course in the forth programming language”, 1989. TIB “Haus2, FN 6421” :-).
      • The book refers to figFORTH and FORTH-79 standards ( “VLIST” is covered, not “WORDS” ). Frequent comparison of FORTH code with BASIC code.
      • “The examples given in the Text will run on practically any version of Forth”.
      • Appendix I contains a list of important FORTH words, with notification for each word, with which FORTH version ( figFORTH, FORTH-79, FORTH-83 ) is it available.
  31. Book “Invitation to FORTH” by Harry Katzan, Jr., 1981. TIB “Haus2, FK FH 684” :-)
      • No PDF download.
      • Without login to a free account: “Limited preview. Some pages are ommited. Use your free account to borrow this book and gain access to all pages”.
      • With login with free account:
        • “Renewable every hour, pending availability. Borrow for 1 hour / 14 days”.
        • “14 day loan required to access EPUB and PDF files”.
    • Contents:
      • The book refers to the FORTH-79 and FORTH-83 standards, in addition to MMSFORTH.
        • “For all versions of FORTH, with additional informations on extension wordsets of the MMSFORTH System”.
        • “Both the 1979 and 1983 FORTH standards are covered, but material not addressed by the standards, such as files of data, handling alphanumeric text, floating-point arithmetic, and various programming tools, are also covered to help you extend FORTH to suit your needs. Exampels are given of an advanced implementation of the language, MMSFORTH”.
  32. Document “Literate programming in Forth” by Peter J. Knaggs, 1995.
  33. Book Kenneth B. Knecht: "Introduction to FORTH", 1982 ( not available in TIB :-(, but available in TIB in German language :-) ).
    • The book refers to the figFORTH standard, as implemented with MMSFORTH on TRS80, in 1982 (!). Compatibility of a future version MMSFORTH 2.0 with the newer FORTH-79 standard is announced in appendix D. Appendix D also covers the changes from the book's description of current MMSFORTH to the FORTH-79 standard.
  34. Document “study in direct execution of the language FORTH” by Sudarshan Kumar, 1987.
  35. Paul Lutus.
    1. Manual “GraFORTH. Graphics Language Reference Manual for the Apple ][”.
    2. Manual “TransFORTH Language Reference Manual for the Apple ][”.
    • The book refers to the figFORTH standard, as implemented with RSC-Forth. It also refers to cmFORTH and polyFORTH, sometimes.
    • Contents:
      • Chapter 2, 3, 4: Rockwell “R65F11” MPU with ROM “R65FR1P”, which contains the RSC-Forth development software.
      • Chapter 5: NOVIX cpu on “NX4 Board”.
  36. Kevin McCabe.
    • The book refers to Coinop FORTH and Colleen FORTH, based on DECUS FORTH. These FORTHs were developed prior to the fig-FORTH standard.
  37. Charles H. Moore.
  38. J. V. Noble.
    1. Book “A beginner's guide to Forth” by J. V. Noble.
    2. Book Julian V. Noble: "Scientific Forth: A Modern Language for Scientific Computing", 1992. TIB “Haus2, T 95 B 1086, with 5 1/4 floppy disk” :-).
  39. Book Steve Oakey: "Forth for Micros", 1984. TIB: “Haus2, FF 9441” :-).
  40. Richard Olney & Michael Benson ( their books are not available in TIB :-( ).
  41. Book William H. Payne "Embedded Controller Forth For The 8051 Family", 1990 & 2014. TIB “Haus2, HA 2944”.
    • The book refers to the fig-FORTH standard.
    • “The 8051 FORTH included in this book uses fig-FORTH word definitions. We once converted to FORTH83 but converted back to fig-FORTH for various reasons. Lack of documentation was one principal reason. Pointers are given in the book on how to convert the code to other FORTH dialects”.
    • Comments on FORTH:
      • “FORTH is a tiny operating system. It occupies a position just above system development monitors. It is below BASICs, which are beneath MS-DOS, which is beneath the UNIXs. FORTH has a limited range of hardware applicability. It is unsuited to the smallest microcontroller hosts such as the 8049 and HC05 families”.
      • “FORTH’s scope of software applicability is also limited. Writing payroll in FORTH is not advised. Mathematical software is better implemented in other languages. FORTH is not suited to projects requiring many programmers or huge codes. FORTH is applicable to hardware intensive projects implemented by one, two, or three workers. Robots, computer numerical controlled ma¬ chines, weapons programmers, cryptographic processors, engine controllers, unmanned observatories, computer hardware debuggers, laser printer graphics controllers, video games, work station device drivers, and BASICs writing are all candidates for FORTH software technology. FORTH is one of the top choices for embedded controller applications”.
      • “FORTH’s interactive environment permits the programmer to write extensive module testing routines easily. Subroutines can be exercised extensively to verify their correctness on the target machine. FORTH brooks secrecy. Programmers must be able to reference the FORTH operating system source code to fix application bugs. FORTH’s operation is intricate. Without the availability of a source code, FORTH’s use is discouraged”.
  42. Stephen Pelc
    1. The free PDF book Stephen Pelc "Programming Forth" ( PDF ), 2005.
      • “Because this book was written at MPE using MPE’s VFX Forth for Windows for testing the code, it inevitably suffers from the use of a few idioms which are specific to MPE’s implementations. I have tried to avoid these and where appropriate they are marked”.
      • The book refers to the ANS94 Forth standard.
      • I/O.
        • ( Page 112 ) I/O ports. Memory mapped I/O is handled using the normal Forth memory operators. In some cases, peripherals are reset by reading a register and discarding the result:
          <address> @ drop
        • Extremely aggressive compilers, e.g. the MPE 68xxx and 386 VFX compilers, can optimise such phrases away. In these cases, synonyms such as P@ in place of @ (‘P’ for Port) will be available that cannot be optimised away. Where code such as device drivers is intended to be portable across different hardware, use of port access words makes portability much easier when code is moved to a CPU with a separate I/O space, e.g. Rabbit or 386. The standard port access words are:
          PC@ PW@ PL@ P@ PC! PW! PL! P!
        • The C/W/L denote 8/16/32 bit access and P@ and P! denote a native cell. For memory mapped systems you can always alias these words to an existing word using compiler macros.
        • All Forth cross compilers we have come across (at least for embedded work) provide a facility to name a number. This permits the names of numbers to be held in the compiler without using any space in the target except when used, in which case they will treated just like the number they represent. They are equivalent to conventional ssembly language equates and are defined like CONSTANTs.
          <value> EQU <name>
          
      • “Illustration 1: Classical Forth interpreter loop” #.
  43. Juergen Pintaske ( his books are not available in TIB ).
  44. Elizabeth D. Rather ( her books are not available in TIB :-( ).
  45. Elizabeth D. Rather & Marlin Ouverson ( their books are not available in TIB :-( ).
  46. Free PDF book “Bill Ragsdale: A Cosmology of Win32Forth. The Complete Forth Textbook”, 2023.
  47. Book Joseph Reymann: "Understanding Forth", 1983 ( not available in TIB :-(, but available in TIB in German language :-) ).
    • The free online and PDF book Archive.org "Joseph Reymann: Understanding Forth. An Introduction and Overview" - “An Alfred Handy Guide”.
    • The book doesn't refer explicitely to any FORTH standard. In chapter 27, “Sources of FORTH Systems”, just commercial software is listed. Chapter 28 “Literature” names the books “Starting Forth” and “Forth Encyclopedia”, which both refer to the FORTH-79 standard.
  48. Book A. J. Reynolds: "Advanced FORTH", 1987 ( not available in TIB :-( ).
  49. Book “FORTH Applications: Ready to run programs in Forth” by S. D. Roberts.
    • Book S. D. Roberts: "FORTH Applications: Ready to run programs in Forth", 1989, “Bitfire Books” publishing house.
    • Book “FORTH Applications: Ready to run programs in Forth” by S. D. Roberts, 1985, “Ingenieur W. Hofacker GmbH” publishing house. TIB “Haus2, “FJ 229” :-). Comment “Turtle graphics”.
    • “Chapter five is a contribution by Dr. Smittter. IT shows a sample of artificial intelligence”.
    • The book refers to the FORTH-79 standard.
      • “The version of FORTH used in this book is MVP-FORTH”.
  50. Rockwell.
    1. Manuals for the AIM-65 computer, by Rockwell.
      • List of FORTH words:
        TASK .S MON HANG ?TTY VLIST ? . .R D. D.R #S # SIGN #> <# SPACES WHILE ELSE IF REPEAT AGAIN END UNTIL +LOOP LOOP DO THEN ENDIF BEGIN FORGET ' R/W --> LOAD MESSAGE .LINE (LINE) DUMP FLUSH BLOCK BUFFER EMPTY-BUFFERS UPDATE +BUF M/MOD */ */MOD MOD / /MOD * M/ M* MAX MIN DABS ABS D+- +- S->D COLD ABORT QUIT ( DEFINITIONS ASSEMBLER FORTH VOCABULARY IMMEDIATE INTERPRET ?STACK DLITERAL LITERAL [COMPILE] CREATE ID. ERROR (ABORT) -FIND NUMBER (NUMBER) WORD PAD HOLD BLANKS ERASE FILL @ QUERY EXPECT ." (.") -TRAILING TYPE COUNT DOES> <BUILDS ;CODE (;CODE) DECIMAL HEX SMUDGE ] [ COMPILE ?CSP ?PAIRS ?EXEC ?COMP ?ERROR !CSP PFA NFA CFA LFA LATEST -DUP SPACE PICK ROT > < U< = - C, , ALLOT HERE 2- 1- 2+ 1+ B/SCR B/BUF LIMIT FIRST C/L MODE HLD CSP DPL BASE STATE CURRENT CONTEXT OFFSET SCR IN BLK UEMIT UKEY UR/W UABORT UB/SCR UB/BUF ULIMIT UFIRST UC/L PREV USE VOC-LINK DP FENCE WARNING WIDTH TIB R0 S0 BL 3 2 1 0 USER CODE VARIABLE CONSTANT ; : C! ! C@ @ TOGGLE +! BOUNDS 2DUP DUP SWAP 2DROP DROP OVER DNEGATE NEGATE D+ + 0< NOT 0= R R> >R LEAVE ;S RP@ RP! SP! SP@ XOR OR AND U/ U* CMOVE -CR CLOSE CHAIN FINIS SOURCE BAUD WRITE READ ?OUT ?IN PUT GET CR ?TERMINAL KEY EMIT ENCLOSE (FIND) DIGIT I (DO) (+LOOP) 0BRANCH BRANCH EXECUTE CLIT LIT
    2. Manual “RSC-FORTH Users's Manual” by Rockwell.
      • The manual refers to the fig-FORTH standard.
      • “Section 2, page 2-8, Table 2-1. RSC-FORTH Kernel Words with their Parameter Field Addresses”.
      • “Section 4, page 4-2 - 4-3, Figure 4-1 VLIST of RSC-FORTH Words”.
      • “Section 7, page 7-2, Figure 7-1 VLIST of RSC-FORTH Assembler Words”.
      • “Appendix L, RSC-FORTH Versus FIG-FORTH, identifies words incorporated in each FORTH that are not included in the other FORTH”.
      • “This manual describes the operation and use of the Rockwell Single-Chip FORTH (RSC-FORTH) system as implemented in the Rockwell R65F11 (40-pin) and R65F12 (64-pin) FORTH-based one-chip Microcomputers and in the Rockwell R65FR1 FORTH Development ROM”.
      • Comments:
        1. ”#” is listed in the table “Table 2-1. RSC-FORTH Kernel Words” and is covered in the RSC manual ( “5.3.2 # and HOLD” ) :-), but it is not listed in the “Figure 4-1. VLIST of RSC-FORTH Words” :-(.
        2. “Table 2-1. RSC-FORTH Kernel Words” includes the misspelled word ”<NUMBER)” instead of ”(NUMBER)” :-(.
      • List of RSC-FORTH kernel words:
        ! 2DUP D+- MOD # 3 D. NEGATE #> 4 D.R OR #S ;S DABS OVER (+LOOP) < DECIMAL PAD (.") <# DIGIT PICK (DO) = DISK QUERY (FIND) > DNEGATE R (LOOP) >R DPL R> (NUMBER) ? DREAD RP! * ?TERMINAL DROP RP@ */ @ DUP R0 */MOD ABS DWRITE ROT + AND EEC! S->D +! BANKC! EMIT S0 +- BANKC@ ENCLOSE SEEK -  BANKEEC! ERASE SELECT -DUP BANKEXECUTE EXECUTE SIGN -TRAILING BASE EXPECT SP! . BL FILL SP@ .R BLANKS HEX SPACE / BOUNDS HLD SPACES /MOD BRANCH HOLD SWAP 0 C! IN TIB 0< C/L INIT TOGGLE 0= C@ KEY TYPE 0BRANCH CLD/WRM LEAVE U* 1 CLIT LIT U/ 1+ CMOVE M* U< 1- COLD M/ UC/L 2 COUNT M/MOD UPAD 2+ CR MAX UR/W 2- D+ MIN XOR 2Drop
      • List of RSC-FORTH words:
        TASK ADMP ;DUMP FORMAT FMTRK BANKEXECUTE BANKEEC! BANKC@ BANKC! EEC! CASE: MEMTOP SCDR SCSR SCCR MCR IER IFR PG PF PE PD PC PB PA NMIVEC IRQVEC INTVEC INTFLG C,CON .S MON VLIST INDEX LIST ? . .R D. D.R #S 1 SIGN #> <# SPACES WHILE ELSE IF REPEAT AGAIN END UNTIL +LOOP LOOP DO THEN ENDIF BEGIN FORGET AUTOSTART ?KERNEL HWORD H/C ' SEEK INIT DWRITE DREAD SELECT DISK R/W B/SCR B/BUF -BCD —-> LOAD MESSAGE >LINE .LINE (LINE) DUMP FLUSH BLOCK BUFFER EMPTY-BUFFERS UPDATE +BUF M/MOD */ */MOD MOD / /MOD * M/ M* MAX MIN DABS ABS D+- +- S->D COLD ABORT QUIT ( DEFINITIONS ASSEMBLER FORTH VOCABULARY IMMEDIATE INTERPRET ?STACK DLITERAL LITERAL [COMPILE] CREATE ID. ERROR (ABORT) -FIND NUMBER (NUMBER) WORD HOLD BLANKS ERASE FILL QUERY EXPECT ." (.") -TRAILING TYPE COUNT DOES> <BUILDS ;CODE (;CODE) DECIMAL HEX SMUDGE ] [ COMPILE ?CSP ?PAIRS ?EXEC ?COMP ?ERROR !CSP PFAPTR NFA CFA LFA LATEST TRAVERSE -DUP SPACE PICK ROT > < U< = - C, , ALLOT HERE ,/ ALLOT/ HERE/ DP/ 2- 1- 2+ 1+ PAD LIMIT FIRST C/L KHZ MODE CSP STATE CURRENT CONTEXT SCR BLK PREV USE UABORT VOC-LINK HEADERLESS DP FENCE WARNING WIDTH OFFSET ULIMIT UFIRST B/SIDE CYLINDER DISKNO HLD DPL IN CLD/WRM BASE UR/W UPAD UC/L R0 S0 TIB BL 4 3 2 1 0 USER CODE VARIABLE CONSTANT ; : C! ! C@ @ TOGGLE +! BOUNDS 2DUP DUP SWAP 2DROP DROP OVER DNEGATE NEGATE D+ + 0< NOT 0= R R> >R LEAVE ;S RP@ RP! SP! SP@ XOR OR AND U/ U* CMOVE FINIS SOURCE XOFF XON CR ?TERMINAL KEY EMIT ENCLOSE (FIND) DIGIT I (DO) (+LOOP) (LOOP) 0BRANCH BRANCH EXECUTE CLIT LIT

        plus #2846 (” ”).

      • List of RSC-FORTH assembler words:
        END-CODE 0< 0= VS CS NOT ELSE, THEN, ENDIF, IF, REPEAT, AGAIN, WHILE, UNTIL, BEGIN, BITCLR BITSET RMB, 8MB, BIT, JMP, JSR, STY, LDY, LDX, CPY, CPX, STX, ROR, ROL, LSR, INC, DEC, ASL, STA, SBC, ORA, LDA, EOR, CMP, AND, ADC, TXS, TYA, TXA, TSX, TAY, TAX, SEI, SED, SEC, RTS, RTI, PLP, PLA, PHP, PHA, NOP, INY, INX, DEY, DEX, CLV, CLI, CLD, CLC, BRK, RP) SEC TOP ) )Y X) ,Y ,X MEM # ,A SETUP BINARY PUTOA PUSHOA POPTWO POP PUT PUSH NEXT XSAVE UP W IP N
      • List of RSC-FORTH words, wich are not in figFORTH:
        ,/ .S ;DUMP >LINE 1- 2- 2DROP 2DUP 4 ?KERNEL ADMP ALLOT/ ASSEMBLER AUTOSTART B/SIDE BANKEEC! BANKC! BANKC@ BANKEXECUTE BOUNDS C,CON C/L CASE: CLD/WRM CLIT CODE CURRENT CYLINDER DISK DISKNO DNEGATE DP/ DREAD DWRITE EEC! FINIS FLUSH FORMAT FMTRK H/C HEADERLESS HERE/ HWORD IER IFR INIT INTFLG INTVEC IRQVEC KHZ MCR MEMTOP NEGATE NMIVEC NOT PA PB PC PD PE PF PFAPTR PG PICK PR@ SCCR SCDR SCSR SEEK SELECT SOURCE U< UABORT UC/L UFIRST ULIMIT UPAD UR/W XOFF XON

        - However, “PR@” is no FORTH word listed by VLIST.

      • List of figForth words, which are not in RSC-FORTH ( however, some of the words are in the RSC-FORTH Assembler vocabulary ):
Word Name Where Used Comment
+ORIGIN system
?LOADING system
BACK system
BLOCK-READ user disk word (DREAD)
BLOCK-WRITE user disk word (DWRITE)
DLIST duplicate name (VLIST)
DMINUS new name (DNEGATE)
DR0 disk
DR1 disk
FLD not used
MINUS new name (NEGATE)
MOVE N/A (word addressing computers)
NEXT RSC-FORTH Assembler
OUT not used
POP RSC-FORTH Assembler
PUSH RSC-FORTH Assembler
PUT RSC-FORTH Assembler
R# system
TRAVERSE system
TRIAD disk
X system (null)
  1. Book Jesse Russell, Ronald Cohn: Forth (programming language), 2012 - “Please Note this book's content is taken from the Wikipedia articles which are available for Free” :-(.
  2. Book W. P. Salman, O. Tisserand, B. Toulout: "Forth, 1984. TIB “Haus2, FH 4570” :-).
  3. Manual “Sinclair ZX81-FORTH ROM with Multi-Tasking” by David Husband, Skywave Software”.
  4. Book “Oric-1 Forth Programming Manual” by Tansoft.
  5. Document “Systems Guide to fig-Forth” by Chen-hanson Ting.
  6. Book James Terry: "Library of Forth routines and utilities", 1986. TIB “Haus2, FO 931” :-).
      • No PDF download.
      • Without login to a free account: “Limited preview. Some pages are ommited. Use your free account to borrow this book and gain access to all pages”.
      • With login with free account:
        • “Renewable every hour, pending availability. Borrow for 1 hour / 14 days”.
        • “14 day loan required to access EPUB and PDF files”.
    • The book refers to the author's own FORTH, called Atila FORTH, on IBM-PC with 80×86 small memory model ( = 16-bit ). No FORTH standard is mentioned, explicitely, at all.
    • “The words in this book have been written to be universal to almost all Forth dialects. You should also be able to use these programs with other versions of Forth. No unusual or esoteric words specific to Atila have been used whenever possible. Appendix B includes sources for any Atila words that might possibly not be in your Forth. Additionally, all words have been defined in uppercase, and with the first three letters and length unique, to avoid problems with Forths that have these restrictions” claims, by the time of publication, 1986, that the library code is compatible with fig-FORTH, FORTH-79 and FORTH-83. Hmm....
  7. Manual “Amforth Documentation” by Matthias Trute.
  8. Book Don Thomasson: "Advanced Spectrum FORTH", 1984 ( not available in TIB :-( ).
  9. Book “Forth: An Application Approach” by David Toppen. TIB “Haus2, FH 9464” :-).
  10. Penny Vickers, Steven Vickers, Ricardo F Lopes, Dutra de Lacerda.
    1. “The Forth Bridge - Translating BASIC to FORTH” by Penny Vickers.
    2. “Jupiter Ace 4000 FORTH Programming” by Steven Vickers.
    3. Ricardo F Lopes.
    4. Dutra de Lacerda.
  11. Bachelor / Master thesis “Compilation methods for Forth application software” by Neil Wade, 1986.
    • TIB “Haus2, FH 2657” :-) ⇒ I did not loan the book from library, in 2021-11.
    • 96 pages.
  12. Book Alan Winfield: "The Complete FORTH", 1983. TIB “Haus2, FH 3659” :-).
  13. Book Dick Wesseling: "Forth: Implementation and Application", 1989 ( not available in TIB :-( ).
  14. Jack Woehr.
    • Successor of the 3rd. edition in German language.
      • Refers to figFORTH, FORTH-79 and FORTH-83 standards, and additionally to MVP-FORTH.
      • “The opportunity was also taken to bring the text up to date, including some references to Forth in hardware”.
    • The book refers to the fig-FORTH standard.

Books #2

  1. Book “The Amstrad PC users omnibus” by “Martin Fairbanks”.
  2. Book Louis L. Odette: "Intelligent Embedded Systems", 1991. TIB: “Haus2, HA 4918” :-)
    • TIB: “System requirements for computer disk: IBM PCs or some compatibles; C. Forth, and Prolog”.
    • Contents: “FORPS = FORTH-based Production System” is presented, but no other relation to FORTH.
    • Forth e.V. Wiki "klauskohlschoepe-mappe" ( PDF ) - “Virtual machine, NC4000 ..”.
  3. Tommaso Toffoli, Norman Margolus.
  4. Ken Sakamura "TRON Project 1990: Open-Architecture Computer Systems". TIB: “RO 6339(7)” :-), but not available for loaning out :-(.

Books strongly not recommended for buying, due to Copyright Issues

Not a Book

German Books & Magazines

Magazines

Books

  1. Rainer Aumiller, Denise Luda.
    1. Book Rainer Aumiller; Denise Luda: "ATARI ST 32 - Forth - Compiler. Professionelles Entwicklungspaket" ( = “ATARI-ST-32-FORTH-Compiler : professionelles Entwicklungspaket ; vollständige GEM-Implementation der Programmiersprache FORTH: Multitasking ; Fliesskomma-Arithmethik ; Assembler ; Debugger” ), 1988. TIB “Haus2, FN 2619, with 3 1/2 floppy disk” :-).
      • The book is shipped with and refers to “32FORTH”.
    2. Book Rainer Aumiller; Denise Luda: "Programmieren mit FORTH ATARI ST" ( = “Programmieren mit FORTH ATARI ST : FORTH-Einführung, Erstellen von GEM-Programmen, Nutzung der Grafikbefehle, Sprites, GEM- und TOS-Aufrufe / Rainer Aumiller; Denise Luda” ), 1987. TIB “Haus2, FK 9791, with 3 1/2 floppy disk” :-).
  2. Book Hans-Walter Beilstein: "Wie man in FORTH programmiert. Einstieg in eine faszinierende Computersprache", 1986. TIB “Haus2, FJ 9033” :-). Stadtbibliothek Bielefeld “6-54614, Magazin” :-).
    • The book refers to the FORTH-83 standard, with focussing ot the implementation of cpcFORTH for Schneider Computers and PCFORTH for Apple computers running on ProDOS.
    • Contents:
      • “Anhang A. Vollständiger Befehlssatz für PCFORTH ( für Apple )”.
      • “Anhang B. Vollständiger Befehlssatz für cpcFORTH”.
    • “Die Beispiele sind alle mit dem Oric-FORTH V1 ( Oric-1 ) und dem Oric-FORTH V2 ( Atmos ) erarbeitet und getestet.
    • The book refers to the figFORTH standard, focussing on its implementation with Oric-FORTH V1, V2, V3.
  3. Leo Brodie.
    1. Book Leo Brodie: "Programmieren in FORTH", 1984. TIB “Haus2, FH 3618”, “85-3491”, “Haus2, FH 3618”, “Haus2, FH 3618 a”, “Haus2, FJ 2593” :-).
    2. Book Leo Brodie: "In FORTH denken", 1986. TIB “89-4389” + “Haus2, AH 8792” :-).
  4. Book “Der Einstieg in FORTH” by Paul M. Chirlian, 1985.
  5. Ekkehard Floegel ( = Ekkehard Flögel ). His books were published by the legendary “Ingenieur W. Hofacker GmbH” publishing house.
  6. Andreas Goppold, Roger Bouteiller: "Forth - ein Programmiersystem ohne Grenzen", 1985. TIB “Haus2, FJ 9189” :-). Stadtbibliothek Bielefeld “M 5d 4, 6-53452” :-).
    • ## NOT YET CHECKED BY ME ##.
  7. Book Thom Hogan, Gisela Nissen-Baudewig: "FORTH - ganz einfach" ( = Thom Hogan, Karl-Heinz Büchner: “FORTH - ganz einfach” ), 1985.
  8. Series of magazine articles about “FORTH-83” by Helmut Hoyer.
  9. Master / Diploma thesis 'Paul Kleinrubatscher: “Compilerbau mit Forth”', 1995.
  10. Book “Einführung in FORTH” by by Kenneth B. Knecht and Gayle C. Prokasky-Fraas, 1984. TIB “Haus2, FH 435” :-).
    • The book refers to the figFORTH standard, as implemented with MMSFORTH on TRS80, in 1982 (!). Compatibility of a future version MMSFORTH 2.0 with the newer FORTH-79 standard is announced in appendix D. Appendix D also covers the changes from the book's description of current MMSFORTH to the FORTH-79 standard.
    • Chapter 5 “Arbeiten mit FORTH”
      • “5.1 Traditionelles Screen-Konzept” ⇒ FORTH-83.
      • “5.2 File-Konzept und Editor” ⇒ F-PC.
    • The book refers to the FORTH-83 standard, focussing on F-PC.
    • Covers also NOVIX NC4016, MARC4, Harris RTX2000, FRP1600.
  11. Book C. Kevin McCabe: "Programmieren mit FORTH", 1988. TIB “RN 8185(37)” :-).
  12. Book Cölestin Lorenz "FORTH-Schnellkurs", 1989. TIB “Haus2, FN 9323” :-).
    • The book refers to the FORTH-83 standard, focussing on the Laxen's & Perry's implementation of FORTH-83 by for MSDOS.
    • 60 pages only(!), typical for books published by the legendary “Ingenieur W. Hofacker GmbH” publishing house.
    • Chapter 6/3, page 985/1446 ff “FORTH ( Autor: Rainer König )”.
    • The book refers to FORTH-79 standard ⇒ The word “VLIST” is mentioned.
  13. Book “Einführung in Forth 83” by Manfred Mader, 1989. TIB “Haus2, FO 8541 ( but 3.5 floppy disk is missing )” :-).
    • The book refers to volksFORTH for ATARI-ST ( = FORTH-83 standard ).
    • Chapter 8 “FORTH - Assemb. & Grafik”.
      • “8.6 Die Line-A-Grafik”.
      • “8.7 Line-A-Grafik in FORTH”.
      • “9 GEM unter FORTH”.
  14. Book Albert Nijhof: "Die Programmiersprache Forth", 2004. TIB “Haus2, T 04 B 6341” :-).
    • The book refers to the ANS94 Forth standard.
      • “Ich lasse F.I.G-Forth, 79-Forth und FORTH-83 außer acht”.
    • Contents:
      1. A Tutorial.
      2. B Words.
      3. C “Lose Artikel” ( some articles ) from the Dutch FORTH magazine of the Dutch Forth Association.
    • Contents:
      • “Die Ampelmaschine als FORTH-Programm” + source code listing #4.
      • “Der EA als FORTH-Programm” + source code listing #8 “Der Evolutionsalgorithmus als FIG-FORTH Programm”.
    • The book refers to the figFORTH standard.
  1. Gert-Ulrich Vack.
    1. Book Gert-Ulrich Vack: "Programmieren mit FORTH", 1990. TIB “Haus 2, FO 7315” :-).
      • The book refers to figFORTH and FORTH83 standards. I.e. it does not refer to FORTH-79.
      • The book contains a valuable description of the FORTH words, in German language, but not much more...
    2. Book Gert-Ulrich Vack: "Der Standard FORTH-83", published by “Kammer der Technik Suhl” ( before 1990 ).
  2. Books “Handbuch zum PC-volksFORTH ( rev 3.81 )”, “Handbuch zum volksFORTH83 rev 3.8” ( for ATARI-ST ), “Handbuch zum volksFORTH CP/M 2.2 und CP/M 3.0 ( rev 3.81 )” and “Handbuch zum ultraFORTH83 rev 3.8” by Claus Vogt, Bernd Pennemann,Klaus Schleisiek, Georg Rehfeld, Dietrich Weineck, 1985 - 1988.
    • The document refers to the FORTH-83 standard.
      • Volksforth 3.80 C=64 (UltraForth) Handbuch deutsch.
        • Full manual, 224 pages.
        • Just block-based file i/o :-(.
      • Volksforth 3.80 Atari ST Handbuch deutsch.
        • Full manual, 234 pages.
        • Page “I-7, ST-spezifische Worte” - ”#col”, ”#row” are not in the vocabulary of VolksForth 3.8.0 for ATARI-ST.
        • Just block-based file i/o :-(.
        • As shipped, Volksforth 3.80 for Atari ST:
          • Can be executed on a ATARI-ST with ( German ) TOS 1.62.
          • Can't be executed on a 68030 Falcon with TOS 2.07. Error message with HATARI v2.3.1 “Detected double bus/address error ⇒ CPU halted!”.
      • Volksforth 3.80 CPM Handbuch deutsch.
        • The manual is just 33 pages :-(. In opposite to the C64, ATARIST and MSDOS manuals, the CP/M manual isn't a introduction to Volksforth. Especially multitasking is not explained :-(.
        • Just block-based file i/o :-(.
      • Volksforth 3.81 MS-DOS PC Handbuch deutsch.
        • Full manual, 212 pages. The manual also explains multitasking, so it may also be used for the CP/M version.
        • Also standard file i/o :-).
        • Page 84 - “Auf der Benutzerebene stehen die gleichen Worte wie im volksFORTH 3.80 für ATARi und für CP/M zur Verfügung; die darunterliegende Implementation wurde jedoch grundlegend geändert, so daß jetzt in FORTH auch sequentielle Files, die nicht die starre BLOCK-Struktur haben, manipuliert werden können”.
    • Online HTML book ATARI Wiki "VolksForth".
      • “VolksForth Handbook (English)”, mixed infos for all implementations.
        • It was then of Laxen and Perry wrote the F83 and disseminated as a public Domain. This free-FORTH '83 standard for MS-DOS, with its numerous utilities quite complex and is not available with manual:-(.
      • “VolksForth Handbuch (German), mixed infos for all implementations.
    • VolksForth vocabularies.
      • Words which start or end with a left parentheses ”(word” are internal words, which are named with other FORTH implementations with surrounding parentheses ”(word)”.
      • List of FORTH words for the C64 version ( loaded from “vforth4_1.d64” ) :
        ASSEMBLER FORTH-83 (64 C) (16 C64INIT INIT-SYSTEM INK-POT FINDEX INDEX 1541R/W DISKCLOSE DISKOPEN WRITESECTOR READSECTOR DERROR? BUSINPUT BUS@ BUSTYPE BUS! BUSIN (BUSIN BUSCLOSE BUSOPEN BUSOFF I/O DRVINIT DRV? >DRIVE DRIVE (DRV BLK/DRV B/BLK DISPLAY C64TYPE C64AT? C64AT C64PAGE C64DEL C64CR C64EMIT PRINTABLE? CON! KEYBOARD C64EXPECT C64DECODE #CR #BS C64KEY CUROFF CURON GETKEY C64KEY? RESTART COLD 'RESTART 'COLD EXPECT DECODE KEY? KEY INPUT: COL ROW AT? AT PAGE DEL TYPE CR EMIT OUTPUT: (FORGET CLEAR CUSTOM-REMOVE ALL-BUFFERS FREEBUFFER ALLOTBUFFER FIRST LIMIT CONVEY COPY BLKMOVE (COPY FLUSH EMPTY-BUFFERS SAVE-BUFFERS UPDATE BLOCK BUFFERS (BLOCK (BUFFER CORE? R/W DISKERR (DISKERR B/BUF BUFFERS PREV FILE UNLOCK LOCK PAUSE LIST L/S C/L .S U. . D: U.R .R D.R #S # SIGN #> <# HOLD SPACES SPACE -TRAILING BL ERROR" ABORT" (ABORT" (ERROR QUIT 'QUIT (QUIT DEPTH RDEPTH --> +THRU THRU +LOAD LOAD PUSH .STATUS ?STACK IS (IS DEFER ] [ INTERPRET NO.EXTENSIONS NOTFOUND >INTERPRET NULLSTRING? ['] [COMPILE] ' FIND (FIND WORDS ORDER DEFINITIONS ONLYFORTH ONLY FORTH VOCABULARY TOSS ALSO UALLOT VARIABLE CONSTANT ; : CREATE: .NAME >BODY NAME> >NAME NFA? CREATE WARNING | ?HEAD DOES> HEAP? HEAP HALLOT CLEARSTACK RESTRICT IMMEDIATE RECURSIVE REVEAL HIDE LAST NUMBER 'NUMBER? NUMBER? DPL PREVIOUS CHAR END? CONVERT ACCUMULATE DIGIT? DECIMAL HEX \NEEDS \\ \ .( ( ." (." " (" "LIT ." ASCII STATE NAME PARSE WORD SOURCE CAPITALIZE CAPITAL /STRING SKIP SCAN QUERY TIB SPAN BLK >IN >TIB #TIB COMPILE C, , ALLOT PAD HERE FILL ERASE COUNT PLACE MOVE CMOVE> CMOVE UD/MOD U/MOD */ */MOD MOD / /MOD 2/ M/MOD UM/MOD 2* * M* UM* LEAVE +LOOP LOOP ?DO DO UNTIL REPEAT WHILE BEGIN ELSE THEN IF CASE? ?PAIRS <RESOLVE <MARK >RESOLVE >MARK ?BRANCH BRANCH J I (+LOOP (LOOP ENDLOOP BOUNDS (?DO (DO ABS DABS EXTEND UMIN UMAX MAX MIN D< D= D0= = U> 0<> 0> > U< < UWITHIN 0= 0< LITERAL LIT CLIT OFF ON 4 3 2 1 0 -1 FALSE TRUE 2- 1- 3+ 2+ 1+ D+ DENEGATE NEGATE NO - XOR AND OR + 2DUP 2DROP 2SWAP ROLL PICK UNDER NIP -ROT ROT OVER ?DUP DUP SWAP DROP +! ! @ CTOGGLE C! C@ PERFORM EXECUTE ?EXIT UNNEST EXIT DROP R@ R> >R RP! RP@ UP! UP@ SP! SP@ UDP VOC-LINK ERRORHANDLER INPUT OUTPUT BASE OFFSET DP R0 S0 ORIGIN NOOP RECOVER END-TRACE LOGO
      • List of FORTH words for the ATARI-ST version:
        LISTING DOCUMENT PRINTALL PTHRU PRINT PRINTER PRINTER.SCR BUFFERS RELOCATE RELOCATE.SCR TRACE' DEBUG DUMP LDUMP TOOLS TOOLS.SCR INDEX INDEX.SCR SAVESYSTEM BYE VIEW L V 'EDITFILE 'R# 'SCR EDWINDOW.SCR GEM\VDI.SCR GEM\SUPERGEM.SCR EDIICON.SCR EDITOR.SCR GEM GEM\BSIC.SCR GEM\AES.SCR  MFREE MALLOC ALLOCATE.SCR 0" ,0" 0>C" C>0" $ADD $SUM INSERT DELETE SEARCH COMPARE-TEXT CAPS STRINGS.SCR ASSEMBLE.SCR BLAK BELL CPUSH ABORT( .BLK >ABSADDR DIVERSES.SCR STARTUP.SCR FILEINT.SCR FORTH_83.SCR CONVEY REMOVE? (VIEW D: C: B: A: DIR MAKEDIR MORE (MORE FILES" FILES EOF INCLUDE LOADFROM FROM MAKEFILE USE MAKE ASSIGN CLOSE OPEN PATH LIST FILE? FLUSH DIRECT FILE CAPACITY DOS SAVESYSTEM ARGUMENTS FORTH-83 STR/W RWABS DRV1 DRV0 DRVINIT DRV? >DRIVE BLK/DRV (BLK/DRV B/BLK DISPLAY STTYPE STAT? STAT STPAGE STDEL STCR STEMIT KEYBOARD STEXPECT STDECODE STKEY GETKEY STKEY? CURRITE CURLEFT WRAP CUROFF CURON CON! #ESC #LF #CR #BS BCONOUT BCONIN BCOSTAT BCONSTAT RESTART COLD 'RESTART 'COLD EXPECT DECODE KEY? KEY INPUT: COL ROW AT? AT PAGE DEL TYPE CR EMIT OUTPUT: ?CR STOP? BYE SAVE EMPTY FORGET (FORGET CLEAR CUSTOM-REMOVE REMOVE ALL-BUFFERS FREEBUFFER ALLOTBUFFER FIRST LIMIT CONVEY COPY FLUSH EMPTY-BUFFERS SAVE-BUFFERS UPDATE BLOCK BUFFER ISFILE@ (BLOCK (BUFFER CORE? UNLOCK LOCK PAUSE LIST L/S C/L .S U. . D. U.R .R D.R #S # SIGN #> <# HOLD SPACES SPACE BL -TRAILING ERROR" ABORT" (ABORT" (ERROR R# SCR ABORT 'ABORT STANDARDI/O QUIT 'QUIT (QUIT DEPTH RDEPTH --> +THRU THRU +LOAD LOAD (LOAD PUSH .STATUS ?STACK IS (IS DEFER ] [ INTERPRET NO.EXTENSIONS NOTFOUND >INTERPRET NULLSTRING? ['] [COMPILE] ' FIND (FIND WORDS ORDER DEFINITIONS ONLYFORTH ONLY FORTH VOCABULARY TOSS ALSO CONTEXT CURRENT VP ALIAS USER UALLOT 2VARIABLE VARIABLE 2CONSTANT CONSTANT ; : CREATE: .NAME >BODY NAME> >NAME NFA? CREATE MAKEVIEW BLK@ WARNING HALIGN ALIGN | ?HEAD DOES> HEAP? HEAP HALLOT CLEARSTACK RESTRICT IMMEDIATE RECURSIVE REVEAL HIDE LAST NUMBER NUMBER? DPL CONVERT ACCUMULATE DIGIT? DECIMAL HEX \NEEDS \\ \ .( ( ." (." " (" "LIT ," ASCII STATE NAME PARSE WORD SOURCE LOADFILE EVEN (WORD CAPITALIZE CAPITAL SCAN SKIP /STRING QUERY TIB SPAN BLK >IN >TIB #TIB COMPILE PAD ALLOT HERE C, , ERASE FILL COUNT PLACE MOVE CMOVE> CMOVE UD/MOD U/MOD */ */MOD MOD / /MOD M/MOD UM/MOD 2/ 2* M* * UM* LEAVE +LOOP LOOP ?DO DO UNTIL REPEAT WHILE BEGIN ELSE THEN IF CASE? ?PAIRS <RESOLVE <MARK >RESOLVE >MARK ?BRANCH BRANCH J I (+LOOP (LOOP ENDLOOP BOUNDS (?DO (DO ABS DABS EXTEND UMIN UMAX MAX MIN D< D= D0= = U> 0<> 0> > UWITHIN U< < 0= 0< LITERAL LIT 0 -1 4 3 2 1 FALSE TRUE OFF ON 4- 2- 1- 4+ 3+ 2+ 1+ D* D- D+ DNEGATE NEGATE - NOT XOR AND OR + "DROP 2OVER 2DUP 2SWAP -ROLL ROLL PICK -ROT UNDER NIP ROT OVER ?DUP DUP SWAP DROP +! LN+! L2! L2@ LCMOVE L! L@ LC! LC! 2! 2@ ! @ CTOGGLE C! C@ PERFORM EXECUTE ?EXIT UNNEST EXIT RDROP R@ R> >R RP! RP@ FORTHSTART UP! UP@ SP! SP@ END-TRACE UP NEXT-LINK UDP VOC-LINK ERRORHANDLER INPUT OUTPUT BASE OFFSET DP R0 S0 ORIGIN NOOP RECOVER
      • List of FORTH words for the CP/M version:
         BUFFERS RELOCATE.SCR SPOOL SPOOLER LISTING DOCUMENT PTHRU PRINTABLE? PRINT PRINTER SHADOW PRINTER.SCR TASKS 'S RENDEZVOUS TASK WAKE SLEEP ACTIVATE PASS MULTITASK SINGLETASK STOP TASKER.SCR SEE SEE.SCR EXTERNAL INTERNAL TRACE' DEBUG DUMP TOOLS TOOLS.SCR FIX VIEW SAVESYSTEM L V #DEL CTRL UPDATED? EDITOR ?ABORT( ?ENOUGH BLANK REPLACE INSERT DELETE EDITOR.SCR SAVESYSTEM SAVESYS.SCR CONVEY COPY COPY.SCR ANSI TERMINAL.SCR (KEY (EXPECT (DECODE (DEL (CR (EMIT (TYPE (PAGE (AT? (AT C/COL C/ROW DUMB CURRITE CURLEFT LOCATE DARK RVSOFF RVSON CUROFF CURON TERMINAL: TERM: XINOUT.SCR LABEL >LABEL ;CODE CODE ASS8080.SCR STARTUP.SCR FILEINT.SCR SOURCE.SCR .BLK SAVEFILE J: D: C: B: A: DRIVE: MORE DIR" DIR FILES" FILES EOF INCLUDE LOADFROM FROM MAKEFILE USE MAKE ASSIGN CLOSE OPEN .BUFFERS (VIEW (MAKEVIEW LIST FILE? DIRECT FILE FORTHFILES CAPACITY FORTH-83 ASSEMBLER .SIZE POSTLUDE (R/W DRVINIT REC/BLK B/REC KEYBOARD (EXPECT (DECODE DISPLAY TIPP (AT? (DEL (CR (EMIT (KEY GETKEY (KEY? CON! #FF #BEL #DEL #TAB #ESC #LF #CR #BS DOS "SEARCH RESTART COLD 'COLD 'RESTART EXPECT DECODE KEY? KEY INPUT: COL ROW AT? AT PAGE DEL TYPE CR EMIT OUTPUT: ?CR STOP? BYE SAVE EMPTY FORGET (FORGET CLEAR CUSTOM-REMOVE REMOVE ALL-BUFFERS FREEBUFFER ALLOTBUFFER FIRST LIMIT FLUSH EMPTY-BUFFERS SAVE-BUFFERS SAVE-DOS-BUFFERS UPDATE BLOCK BUFFER ISFILE@ (BLOCK (BUFFER CORE? EMPTYBUF R/W DISKERR (DISKERR (CORE? B/BLK B/BUF PREV FROMFILE ISFILE UNLOCK LOCK PAUSE END-TRACE LIST L/S C/L .S U. . D. U.R .R D.R #S # SIGN #> <# HOLD SPACES SPACE BL -TRAILING ERROR" ABORT" (ABORT" (ERROR R# SCR ABORT 'ABORT STANDARDI/O QUIT 'QUIT (QUIT PROMPT (PROMPT DEPTH RDEPTH --> +THRU THRU +LOAD LOAD (LOAD PUSH .STATUS ?STACK IS (IS ] [ INTERPRET PARSER NOTFOUND NO.EXTENSIONS NULLSTRING? ['] [COMPILE] ' FIND (FIND WORDS ORDER DEFINITIONS ONLYFORTH ONLY ROOT FORTH VOCABULARY TOSS ALSO CONTEXT CURRENT VP DEFER ALIAS USER UALLOT VARIABLE CONSTANT ; : CREATE: .NAME BODY> >BODY NAME> (NAME> >NAME NFA? CREATE (CREATE  MAKEVIEW WARNING HALIGN ALIGN EVEN | ?HEAD DOES> (;CODE HEAP? HEAP HALLOT CLEARSTACK RESTRICT IMMEDIATE RECURSIVE  REVEAL HIDE LAST NUMBER NUMBER? DPL CONVERT ACCUMULATE DIGIT? DECIMAL HEX \NEEDS \\ \ .( ( ." (." " (" ," "LIT ASCII STATE NAME PARSE WORD SOURCE LOADFILE (WORD UPPER CAPITAL CAPS /STRING SCAN SKIP QUERY TIB SPAN BLK >IN >TIB #TIB COMPILE PAD C, , ALLOT HERE ERASE FILL COUNT PLACE MOVE CMOVE> CMOVE UD/MOD U/MOD */ */MOD MOD / /MOD M/MOD UM/MOD 2/ 2* * M* UM* LEAVE +LOOP LOOP ?DO DO UNTIL REPEAT WHILE BEGIN ELSE THEN IF CASE? ?PAIRS <RESOLVE <MARK >RESOLVE +>MARK >MARK J I (+LOOP (LOOP (?DO (DO ENDLOOP BOUNDS ?BRANCH BRANCH DABS ABS EXTEND MIN MAX UMIN UMAX D< D= D0= UWITHIN = 0<> 0= 0> 0< > U> < U< LITERAL CLIT LIT OFF ON -1 4 3 2 1 0 FALSE TRUE 4- 2- 1- 4+ 3+ 2+ 1+ D+ DNEGATE NEGATE - NOT XOR AND OR + 2DUP 2DROP 2SWAP -ROLL ROLL PICK -ROT UNDER NIP ROT OVER ?DUP DUP SWAP DROP +! 2! 2@ ! @ CTOGGLE FLIP  C! C@ PERFORM EXECUTE 0=EXIT ?EXIT UNNEST EXIT RDROP R@ R> >R RP! RP@ UP! UP@ SP! SP@ UDP VOC-LINK ERRORHANDLER INPUT OUTPUT BASE OFFSET DP R0 S0 ORIGIN NOOP RECOVER IPSAVE UP RP
      • List of FORTH words for the MSDOS version:
        PLIST LISTING DOCUMENT PTHRU +PRINT PRINT PRINTER GRAPHICS.PRN FIX SAVESYSTEM EDIT L ED V #DEL CTRL UPDATED? EDITOR CAPS CUROFF CURON #ESC EDITOR.FB LDUMP DUMP TIMES OFTEN TOOLS TOOLS.FB TIME@ DATE@ MINUTES SECONDS WAIT TIME TILL TIMEOUT? TICKS TIMER.FB TASK RENDEZVOUS WAKE SLEEP ACTIVATE PASS MULTITASK SINGLETASK STOP TASKER.FB CALL MSDOS FTYPE DELETE FCOPY RD CD MD REN DIR PATH .PATH MAKEFILE MAKE EMPTYFILE KILLFILE ?FILE FILES MORE CONVEY COPY USED? DTA FSWAP DOS.FB BYE (.STATUS .SPACE .SCR .DR (.DRV .SP .BASE (PAGE (CR SCROLL (DEL BLANKLINE BRIGHT UNDERLINE INVERS NORMAL SETPAGE CURSHAPE CUR! CURAT? (AT? (AT (EMIT (TYPE FULL WINDOW CATT (AREA TERMINAL AREA: STATUS AREA MULTI.VID .IF .ELSE .THEN ?" >MONTHS ATTACH APPEND RESTOREVIDEO SAVEVIDEO VIDEO@ C/DIS LFREE LALLOCATE ARGUMENTS ABORT( ADR U? TAB .FIELD >EXPECT STASH BLANK CLS 'NAME SAV EXTEND.FB LABEL >LABEL CODE ;CODE ASSEMBLER END-CODE ASSEMBLER ASM.FB VOLKS4TH.SYS FORTH-83 HELP VIEW SAVESYSTEM SAVEFILE LFSAVE H: G: F: E: D: C: B: A: CAPACITY DRV DRIVE INCLUDE LOADFROM FROM USE ASSIGN OPEN CLOSE PUSHFILE FILE? [FCB] KERNEL.SCR FILE DIRECT (R/W >DRIVE DOS ASCIZ >ASCIZ COUNTED PC! PC@ LIST! DISPLAY TIPP BELL (PAGE (AT? (AT (DEL (CR (EMIT C/COL C/ROW CHAROUT KEYBOARD (EXPECT (DECODE #CR #LF #TAB #BS #BEL (KEY EMPTY-KEYS (KEY? (KEY@ LMOVE LTYPE L! L@ LC! LC@ COLD BYE RETURN_CODE RESTART 'COLD 'RESTART EXPECT DECODE KEY? KEY INPUT: COL ROW AT? AT PAGE DEL TYPE CR EMIT OUTPUT: ?CR STOP? #ESC SAVE EMPTY FORGET (FORGET CLEAR TRIM CUSTOM-REMOVE REMOVE ALL-BUFFERS UPDATE BLOCK BUFFER ISFILE@ (BLOCK (BUFFER CORE? EMPTYBUF (CORE? ?DISKERROR ERROR# R/W B/BLK B/BUF PREV FROMFILE ISFILE UNLOCK LOCK PAUSE LIST L/S C/L .S U. U.R . .R D. D.R #S # SIGN #> <# HOLD SPACES SPACE -TRAILING BL ERROR" ABORT" (ABORT" (ERROR R# SCR ABORT 'ABORT END-TRACE STANDARDI/O QUIT 'QUIT (QUIT PROMPT (PROMPT DEPTH RDEPTH --> +THRU THRU +LOAD LOAD (LOAD .STATUS PUSH ?STACK IS (IS ] [ INTERPRET PARSER NO.EXTENSIONS NOTFOUND NULLSTRING? ['] [COMPILE] ' FIND (FIND WORDS VOCS ORDER DEFINITIONS ONLYFORTH ONLY ROOT FORTH VOCABULARY TOSS ALSO CONTEXT CURRENT VP DEFER ALIAS USER UALLOT CONSTANT ; : CREATE: .NAME BODY> >BODY NAME> (NAME> >NAME NFA? VARIABLE CREATE MAKEVIEW WARNING HALIGN ALIGN EVEN | ?HEAD DOES> (;CODE HEAP? HEAP HALLOT CLEARSTACK RESTRICT IMMEDIATE RECURSIVE REVEAL HILDE LAST' LAST NUMBER NUMBER? DPL CONVERT ACCUMULATE DIGIT? DECIMAL HEX \NEEDS HAVE \\ \ .( ( ." (." " (" "LIT ," ASCII STATE NAME PARSE WORD SOURCE LOADFILE UPPER CAPITAL (CAPITAL /STRING SCAN SKIP QUERY TIB SPAN BLK >IN >TIB #TIB COMPILE PAD C, , ALLOT HERE ERASE FILL COUNT PLACE MOVE CMOVE> CMOVE UD/MOD U/MOD */ */MOD MOD / 2/ /MOD M/MOD UM/MOD 2* * M* UM* LEAVE *LOOP LOOP ?DO DO UNTIL REPEAT WHILE BEGIN ELSE THEN IF ?PAIRS <RESOLVE <MARK >RESOLVE >MARK ?BRANCH BRANCH J I (+LOOP (LOOP BOUNDS ENDLOOP (?DO (DO DABS ABS EXTEND UMAX UMIN MAX MIN D< D= D0= CASE? WITHIN = 0< 0> > < U> U< 0<> 0= LITERAL CLIT LIT OFF ON -1 4 3 2 1 0 FALSE TRUE 4- 2- 1- 4+ 3+ 2+ 1+ D+ DNEGATE - NEGATE + XOR OR AND NOT 2OVER 2DUP 2DROP 2SWAP -ROLL ROLL PICK -ROT UNDER NIP ROT OVER ?DUP DUP SWAP DROP +! 2! 2@ ! @ FLIP CTOGGLE C! C@ PERFORM EXECUTE 0=EXIT ?EXIT UNNEST EXIT RDROP R@ R> >R RP! RP@ B/SEG DS@ UP! UP@ SP! SP@ UDP FILE-LINK VOC-LINK ABORTED ERRORHANDLER INPUT OUTPUT BASE OFFSET DP R0 S0 NOOP RECOVER NEXT-LINK ORIGIN
  3. Document “MP Kurs. Einführung in Forth-83” by Wilhelm-Pieck Universität Rostock.
  4. Ronald Zech.
      • 1987, 3rd. edition. TIB “Haus2, FF 7790,3” :-).
        • The book refers to figFORTH, FORTH-79 and FORTH-83 standards, and additionally to MVP-FORTH.
        • Chapter 5 “Das FORTH-Vokabular”.
          • “5.3 Der FORTH-79 Standard und das MVP-FORTH”.
          • “5.4 Das neue DOES>”
          • “5.5 Noch ein Standard: FORTH-83”.
      • 1985, 2nd. edition. TIB “Haus2, FF 7790,2” :-).
        • The book refers to figFORTH, FORTH-79 and FORTH-83 standards, and additionlly to MVP-FORTH.
      • 1984. TIB “Haus2, FF 7790”, “Haus2, FF 7790 a”, “Haus2, FF 7790 b” :-). Stadtbibliothek Bielefeld “M 5d 4, 7-34230” :-).
        • The book refers to figFORTH.
    1. Book “FORTH 83: eine gründliche Einführung in die FORTH-Version - auch für PCs” by Ronald Zech. TIB: “Haus2, FK 2338 :-) - nicht gefunden :-(”.
      • The book refers to the FORTH-83 standard.

Books 2

    • Does not cover FORTH at all.
      • “Forth hat keine Standard-Bibliotheken und die Hardware ist nicht compiler-friendly. Das macht Forth zu einer Toy-Language. Man kann damit keine größeren Projekte realisieren und für die Robotik ist Forth ungeeignet. Will man in Forth programmieren, fallen extrem hohe Kosten an”.
      • “Es geht also nicht wirklich darum, Forth zu verstehen, sondern alles andere was mit Informatik zu tun hat. Also Software, Compiler, Betriebssysteme, Transistoren usw. Und auf dieser Basis erklärt sich auch, wie die Forth Community funktioniert. Es geht weniger darum, mit Forth etwas sinnvolles anzufangen, sondern die Veröffentlichungen und Projekte orientieren sich an dem Lernbedarf”.
    • TIB “T 09 B 6886” :-).
  1. Book Horst Zöller, Heiko Loewe: "FORTH in der Automatisierung. Einsatzmöglichkeiten und Anwendung, 1990. TIB “Haus2, HA 2459” :-). Stadtbibliothek Bielefeld “M 2m 3b, 6-56384”.
    • No FORTH tutorial, no FORTH code. It was written prior to the release of ANS94-Forth.

French Books & Magazine

French Magazine

French Books

  1. “La Pratique du FORTH avec HECTOR” by Michel Henric-Coll.
      • No PDF download.
      • Without login to a free account: “Limited preview. Some pages are ommited. Use your free account to borrow this book and gain access to all pages”.
      • With login with free account:
        • “Renewable every hour, pending availability. Borrow for 1 hour / 14 days”.
        • “14 day loan required to access EPUB and PDF files.
    • The book of 1985 refers to the figFORTH and FORTH-79 standards, as the original US book of 1983. It has 304 pages, while the original US books have 248 and 200 pages.
      • Appendix B ( “Les messages par le systeme” ) describes 24 figFORTH messages.
      • Appendix C ( “Glossaire” ) describes figFORTH and FORTH-79 words. This is the contents of the second book volume!
      • Appendix D ( “La norme FORTH-83” ) describes the FORTH-83 standard on 10 pages.

Italian Books

Russian Books

Spanish Books

Conference Papers

Standards

IEEE

Kitt Peak

figForth ( fig-FORTH ), 1978

Forth79

    • The norm gives suggestions how to name ( Assembly code routines, C / Java / Javascript /... functions ) :-).
      • Examples “dash-tick” ( not “hash-tick”, nor “minus-tick” ), “equals” ( not “eqal” ), “oolon” ( not “colon” ),...
    • Errata:
      • Nucleus word name: U/ , required word name: U/mod.
    • Specials:
      • D+, D< are both words of the “Required Word Set” but also words of the “Double Number Word Set”.
      • BASE range is 2..70 :-( ( “BASE - Leave the address of a variable containing the current input-output numeric conversion base. { { 2..70 } }” ).
  • Nucleus words ( note that lower case entries refer to just the run-time code corresponding to a compiling word ):
    ! * */ */MOD + +! +loop - / /MOD 0< 0= 0> 1+ 1- 2+ 2- < = > >R ?DUP @ ABS AND begin C! C@ colon CMOVE constant create D+ D< DEPTH DNEGATE do does> DROP DUP else EXECUTE EXIT FILL I if J LEAVE literal loop MAX MIN MOD MOVE NEGATE NOT OR OVER PICK R> R@ repeat ROLL ROT semicolon SWAP then U* U/ until variable while XOR
    
  • Interpreter words:
    +LOOP , ." : ; ALLOT BEGIN COMPILE CONSTANT CREATE DEFINITIONS DO DOES> ELSE FORGET IF IMMEDIATE LITERAL LOOP REPEAT STATE THEN UNTIL VARIABLE VOCABULARY WHILE [ [COMPILE] ]
    
  • Compiler words:
    BLOCK BUFFER EMPTY-BUFFERS LIST LOAD SAVE-BUFFERS SCR UPDATE
    

FORTH-83

    • The norm gives suggestions how to name ( Assembly code routines, C / Java / Javascript /... functions ) :-).
    • The norm does not explain the multitasking implemented with FORTH83 :-(.
  • Forth Interest Group ( FIG ) "Public Domain Forths" - “Inside F83, tutorials on F83 by CH Ting, converted to pdf by John Glauvitz”.
  • List of FORTH words of the MSDOS implementation:
    EMPTY MARK HELLO BACKGROUND: ACTIVATE SET-TASK TASK: RESUME DEBUG LISTING SHOW (SEMIT) (PAGE) FORM-FEED PAGE #PAGE LOGO L/PAGE FOOTING INIT-PR EPSON SEE (SEE) ASSOCIATIVE: CASE: MAP OUT DL DU DUMP .HEAD ?.A ?.N DLN EMIT. D.2 .2 A SHADOW (WHERE) FIX EDIT ED DONE EDITOR DARK AT -LINE BLOT REPLACE INSERT DELETE SEARCH SCAN-1ST FOUND TO CONVEY (CONVEY) .TO HOP CONVEY-COPY U/D HOPPED VIEW @VIEW COPY (COPY) ESTABLISH L B N :: MANY TIMES #TIMES WORDS LARGEST IND INDEX .LINE0 TRIAD LIST .SCR ?CR ?LINE RMARGIN LMARGIN HIDDEN 0<= 0>= >= <= U>= U<= MS FUDGE P! PC! P@ PC@ MULTI SINGLE STOP WAKE SLEEP !LINK @LINK LOCAL INT# RESTART (PAUSE) UNBUG BUG DOES? DOES-SIZE DOES-OP LABEL UTILITY.BLK CPU8086.BLK EXTEND86.BLK KERNEL86.BLK VIEWS VIEW-FILES SAVE-SYSTEM FROM OPEN DEFINE B: A: DRIVE? DIR CREATE-FILE MORE ROOT --> +THRU THRU ?ENOUGH ? (S \ L/SCR C/L RECURSE B Q DUMP .ID .S DEPTH BYE START OK INITIAL COLD WARM BOOT QUIT RUN IS (IS) >IS USER #USER CODE AVOC 2VARIABLE 2CONSTANT DEFINITIONS VOCABULARY DEFER VARIABLE CONSTANT RECURSIVE ; : ] [ DOES> ;CODE (;CODE) ;USES ASSEMBLER (;USES) REVEAL HIDE ?CSP !CSP CREATE "CREATE ,VIEW WHILE ELSE IF REPEAT AGAIN UNTIL +LOOP LOOP ?DO DO THEN BEGIN ?LEAVE LEAVE ?<RESOLVE ?<MARK ?>RESOLVE ?>MARK <RESOLVE <MARK >RESOLVE >MARK ?CONDITION ABORT ABORT" (ABORT") (?ERROR) ?ERROR WHERE FORGET (FORGET) TRIM FENCE " ." ," (.") (") [COMPILE] ['] ' ?MISSING CRASH CONTROL ASCII DLITERAL LITERAL IMMEDIATE COMPILE EVEN ALIGN C, , ALLOT INTERPRET STATUS ?STACK DEFINED ?UPPERCASE FIND #THREADS (FIND) HASH VIEW> >VIEW >LINK >NAME >BODY LINK> NAME> BODY> L>NAME N>LINK FORTH-83 DONE? TRAVERSE \S ( .( >TYPE WORD 'WORD PARSE PARSE-WORD SOURCE (SOURCE) PLACE /STRING SCAN SKIP D.R D. (D.) UD.R UD. (UD.) .R . (.) U.R U. (U.) OCTAL DECIMAL HEX #S # SIGN #> <# HOLD NUMBER (NUMBER) NUMBER? (NUMBER?) CONVERT DOUBLE? DIGIT LOAD (LOAD) DEFAULT VIEW# FLUSH SAVE-BUFFERS EMPTY-BUFFERS IN-BLOCK BLOCK (BLOCK) BUFFER (BUFFER) MISSING DISCARD UPDATE ABSENT? LATEST? CAPACITY DOS SWITCH FILE? .FILE WRITE-BLOCK READ-BLOCK >UPDATE BUFFER# >END >BUFFERS INIT-R0 FIRST >SIZE LIMIT DISK-ERROR B/FCB REC/BLK B/REC B/BUF #BUFFERS QUERY TIB EXPECT CC-FORTH CC DEL-IN CHAR (CHAR) CR-IN P-IN RES-IN BACK-UP (DEL-IN) BS-IN BEEP BACKSPACES SPACES SPACE TYPE CRLF (EMIT) (PRINT) PR-STAT CR KEY KEY? (CONSOLE) (KEY) (KEY?) BDOS COMPARE CAPS-COMP COMP -TRAILING PAD HERE UPPER UPC MOVE LENGTH COUNT BLANK ERASE FILL CAPS BELL BS BL END? #TIB SPAN >IN BLK VOC-LINK WIDTH 'TIB CONTEXT #VOCS CURRENT CSP LAST R# DPL WARNING STATE PRIOR SCR EMIT PRINTING IN-FILE FILE HLD BASE OFFSET #LINE #OUT DP RP0 SP0 LINK ENTRY TOS */ */MOD MOD / /MOD * MU/MOD M/MOD *D DMAX DMIN D> D< DU< D= D0= ?DNEGATE D- D2/ D2* DABS S>D DNEGATE D+ 2ROT 4DUP 3DUP 2OVER 2SWAP 2DUP 2DROP 2! 2@ WITHIN BETWEEN MAX MIN > < U> U< ?NEGATE <> = 0<> 0> 0< 0= UM/MOD U*D UM* 2- 1- 2+ 1+ 8* U2/ 2/ 2* 3 2 1 0 +! ABS - NEGATE + OFF ON CTOGGLE CRESET CSET FALSE TRUE NOT XOR OR AND ROLL PICK R@ >R R> ?DUP FLIP -ROT ROT NIP TUCK OVER SWAP DUP DROP RP! RP@ SP! SP@ CMOVE> CMOVE C! C@ ! @ (?LEAVE) (LEAVE) J I PAUSE NOOP GO PERFORM EXECUTE >NEXT BOUNDS (?DO) (DO) (+LOOP) (LOOP) ?BRANCH BRANCH (LIT) UP UNNEST EXIT FORTH
  • List of FORTH words of the CP/M implementation:
    EMPTY MARK HELLO BACKGROUND: ACTIVATE SET-TASK TASK: RESUME DEBUG LISTING SHOW (SEMIT) (PAGE) FORM-FEED PAGE #PAGE LOGO L/PAGE FOOTING INIT-PR EPSON SEE (SEE) ASSOCIATIVE: CASE: MAP OUT DL DU DUMP .HEAD ?.A ?.N DLN EMIT. D.2 .2 A SHADOW (WHERE) FIX EDIT ED DONE EDITOR DARK AT -LINE BLOT REPLACE INSERT DELETE SEARCH SCAN-1ST FOUND TO CONVEY (CONVEY) .TO HOP CONVEY-COPY U/D HPPED VIEW @VIEW COPY (COPY) ESTABLISH L B N :: MANY TIMES #TIMES WORDS LARGEST IND INDEX .LINE0 TRIAD LIST .SCR ?CR ?LINE RMARGIN LMARGIN HIDDEN 0<= 0>= >= <= U>= U<= MS FUDGE PC! PC@ MULTI SINGLE STOP WAKE SLEEP !LINK @LINK LOCAL RESTART (PAUSE) UNBUG BUG DOES? DOES-SIZE DOES-OP LABEL UTILITY.BLK CPU8080.BLK EXTEND80.BLK KERNEL80.BLK VIEWS VIEW-FILES SAVE-SYSTEM FROM OPEN DEFINE B: A: DRIVE? DIR CREATE-FILE MORE ROOT --> +THRU THRU ?ENOUGH ? (S \ L/SCR C/L RECURSE DUMP .ID .S DEPTH BYE START OK INITIAL COLD WARM BOOT QUIT RUN IS (IS) >IS USER #USER CODE AVOC 2VARIABLE 2CONSTANT DEFINITONS VOCABULARY DEFER VARIABLE CONSTANT RECURSIVE ; : ] [ DOES> ;CODE (;CODE) ;USES ASSEMBLER (;USES) REVEAL HIDE ?CSP !CSP CREATE "CREATE ,VIEW WHILE ELSE IF REPEAT AGAIN UNTIL +LOOP LOOP ?DO DO THEN BEGIN ?LEAVE LEAVE ?<RESOLVE ?<MARK ?>RESOLVE ?>MARK <RESOLVE <MARK >RESOLVE >MARK ?CONDITION ABORT ABORT" (ABORT") (?ERROR) ?ERROR WHRE FORGET (FORGET) TRIM FENCE " ." ," (.") (") [COMPILE] ['] ' ?MISSING CRASH CONTROL ASCII DLITERAL LITERAL IMMEDIATE COMPILE EVEN ALIGN C, , ALLOT INTERPRET STATUS, ?STACK DEFINED ?UPPERCASE FIND #THREADS (FIND) HASH VIEW> <VIEW >LINK >NAME >BODY LINK> NAME> BODY> L>NAME N>LINK FORTH-83 DONE? TRAVERSE \S ( .( >TYPE WORD 'WORD PARSE PARSE-WORD SOURCE (SOURCE) PLACE /STRING SCAN SKIP D.R D. (D.) UD.R UD. (UD.) .R . (.) U.R U. (U.) OCTAL  DECIMAL HEX #S # SIGN #> <# HOLD NUMBER (NUMBER) NUMBER? (NUMBER?) CONVERT DOUBLE? DIGIT LOAD (LOAD) DEFAULT VIEW# FLUSH SAVE-BUFFERS EMPTY-BUFFERS IN-BLOCK BLOCK (BLOCK) BUFFER (BUFFER) MISSING DISCARD UPDATE ABSENT? LATEST? CAPACITY DOS SWITCH FILE? .FILE WRITE-BLOCK READ-BLOCK >UPDATE BUFFER# >END >BUFFERS INIT-R0 FIRST >SIZE LIMIT DISK-ERROR B/FCB REC/BLK B/REC B/BUF #BUFFERS QUERY TIB EXPECT CC-FORTH CC DEL-IN CHAR (CHAR) CR-IN P-IN RES-IN BACK-UP (DEL-IN) BS-IN BEEP BACKSPACES SPACES SPACE TYPE CRLF (EMIT) (PRINT) PR-STAT CR KEY KEY? (CONSOLE) (KEY) (KEY?) BIOS BDOS COMPARE CAPS-COMP COMP -TRAILING PAD HERE UPPER UPC MOVE LENGTH COUNT BLANK ERASE FILL CAPS BELL BS BL END? #TIB SPAN >IN BLK VOC-LINK WIDTH 'TIB CONTEXT #VOCS CURRENT CSP LAST R# DPL WARNING STATE PRIOR SCR EMIT PRINTING IN-FILE FILE HLD BASE OFFSET #LINE #OUT DP RP0 SP0 LINK ENTRY TOS */ */MOD MOD / /MOD * MU/MOD M/MOD *D DMAX DMIN D> D< DU< D= D0= ?DNEGATE D- D2/ D2* DABS S>D DNEGATE D+ 2ROT 4DUP 3DUP 2OVER 2SWAP 2DUP 2DROP 2! D@ WITHIN BETWEEN MAX MIN > < U> U< ?NEGATE <> = 0<> 0> 0< 0= UM/MOD U*D UM* 2- 1- 2+ 1+ 8* U2/ 2/ 2* 3 2 1 0 +! ABS - NEGATE + OFF ON CTOGGLE CRESET CSET FALSE TRUE NOT XOR OR AND ROLL PIC R@ >R R> ?DUP FLIP -ROT ROT NIP TUCK OVER SWAP DUP DROP RP! RP@ SP! SP@ CMOVE> CMOVE C! C@ ! @ (?LEAVE) (LEAVE) J I PAUSE NOOP GO PERFORM EXECUTE >NEXT BOUNDS (?DO) (DO) (+LOOP) (LOOP) ?BRANCH BRANCH (LIT) UP UNNEST EXIT RP FORTH
  • List of FORTH words of the CP/M 68K implementation:
    
    

ANS94 ( ANSI94 )

Forth 2012

How to differ FORTH Vocabularies

figFORTH vs. FORTH79, by Vocabulary
  • FORTH-79 ⇒ “79-STANDARD”.
figFORTH & FORTH79 vs. FORTH83, by Vocabulary
  • figFORTH ⇒ “VLIST”.
  • FORTH-79 ⇒ “79-STANDARD”, “VLIST”.
  • FORTH83 ⇒ “FORTH-83”, “WORDS”.
figFORTH & FORTH79 vs. FORTH83, by Code
  • FORTH-83 and later are specified to provide floored division. 79-STANDARD is not. Therefore, if 1 is printed, you're dealing with a FORTH-79, otherwise it is a later incarnation”:
2 1 1 pick . 2drop
  • “PICK and ROLL arguments are there at the forefront. The floored division thing, which is a problem only when the divisor and the dividend have different signs also is a potential concern for some applications”.
  • “I am not entirely sure about loop semantics”.
  • “There was some discussion on 'Forth Dimensions' about that topic for some time but this might have happened before FORTH-83 was formally specified”.
  • “Another sure way to tell a FORTH-79 from any later implementation is the value of TRUE”:
0 dup = .
  • “1” is printed under a true FORTH-79.
  • ”-1” is printed under any later specification.
  • “This can be a huge portability problem. The ANSI spec calls this 'environmental dependencies'. I had to deal with two programs that depended on true being ”-1”. One should never make that kind of assumption”.
figFORTH & FORTH79 vs. FORTH83, by Code
  • See “There is another word, NOT, whose use is inconsistent in different dialects of FORTH” at FORTH 3/7.
  • “FORTH-83 defines a semantics for NOT that was not continued in ANSI Forth, which re-enforces the 79 semantics (0=). To be honest, the 83 specification adds no real value but instead alters the semantics of existing words–a major step back, I'd say. Fig Forth (as an 83 implementation) may have formalized Forth as a virtual machine system, which was not previously the case. In any case, a standard specification should not target a particular implementation. The ANSI folks (Elizabeth R Conklin et al) were aware of that and the 94 specification was extremely carefully worded to that extent”.
  • Expert told me: “NOT” of figFORTH & FORTH-79, and incompatible “NOT” of FORTH-83 were replaced in ANS94 Forth by “INVERT”.
  • Expert's comment
    • “A side note about the FORTH-79 flavor: the reference word set specifies COM with the exact same semantics as the FORTH-83 NOT (or the ANSI INVERT). As to the quality of the FORTH-79 specification, it is a mixed blessing. Just have a look at the definition of things like ASCII or CONVERT”.
    • “Both 79 ASCII and CONVERT specifications are half baked in my humble opinion. I do support CONVERT with my own Forth. I went for the ANS94 CHAR and [CHAR] (as a substitute for ASCII) because ASCII is so poorly defined. No two Forth implementations are alike. They each have primary alleged affiliations but they may also have later standards words.

The important thing is that the primary allegiance is implemented in a standard compliant way. All the rest is icing on the cake!”.

Resources

Literature Lists & Literature Repositories

Compiler Design

Resources

  • TIB - Search for “forth”:
      1. TIB "Ihre Aktion. Sachbegriff: FORTH. Quelle:Au=DB" ⇔ “\8661 forth and (\8661 forth or s9)” ⇒ 23 hits, all are FORTH books :-). The service did not know how to come to that result.
      2. ”[TIT] Titel ( Stichwort )” ⇒ 6034 hits for “forth”.
      3. ”[TPR] Titel ( Phrase )” ⇒ 50 hits for “forth”.
      4. “Sonderstandort” + “L \ mat 799” - Everything which is in the readers' room of 1st. floor ( so no books from archive, Haus2 archive ) ⇒ 37 hits, no FORTH books :-(. FORTH books have “Sachgebiete” signatures “mat 799 Forth” or “mat 799 FOR”.
      5. “forth” + “unscharfe Suche [x]” = Too many hits.
    • TIB, New Catalogue, with up to 64 extra databases.
      • ”[x] Nur im Bibliothekskatalog der TIB suchen”.
      • “TIB-Lesesaalbestand” - ”[x] Technik/Naturwissenschaften” ⇒ 16 hits for “forth”, No FORTH books :-(.

Videos

Video Channels & Videos

Resources

Appropriate OpenDirectory Directory Pages

 
en/forth06.html.txt · Last modified: 2024/10/15 06:54 (external edit) · []
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki