Forth Programming Language FAQ: Part 1 of 6, General Information 
Author Message
 Forth Programming Language FAQ: Part 1 of 6, General Information

Posted-By: auto-faq 3.3 beta (Perl 5.001)
Archive-name: computer-lang/forth-faq/part1
Posting-Frequency: Monthly.  A how-to-find-the-FAQ article is posted weekly.

  comp.lang.forth Frequently Asked Questions (1/6): Gen-


  Table of Contents:

  1.      Acknowledgements

  2.      comp.lang.forth FAQs

  3.      General Questions

  3.1.    What is Forth?

  3.2.    Why and where is Forth used?

  3.3.    Hang on, isn't Forth out of date now?

  3.4.    What language standards exist for Forth?

  3.5.    What is an RFI?

  3.6.    Are there Coding Standards for Forth?

  3.7.    I have trouble managing the stack. Should I use global

  3.8.    What is the Forth Interest Group?

  4.      Flame baits

  4.1.    Commercial vs. free Forth systems

  4.2.    Free Forth systems are bad for Forth.

  4.3.    Blocks vs. files

  4.4.    LOCALS|

  5.      Miscellaneous

  5.1.    Where can I find a C-to-Forth compiler?

  5.2.    Where can I find a Forth-to-C compiler?

  5.3.    RECORDS in Forth?

  5.4.    Why does THEN finish an IF structure?

  5.5.    What is threaded code? What are the differences between the
  different threading techniques?

  5.6.    Has anyone written a Forth which compiles to Java bytecode?

  5.7.    What about translating Java bytecode to Forth?

  1.  Acknowledgements

  This FAQ is based on previous work by Gregory Haverkamp, J. D. Verne,
  and Bradford J. Rodriguez.

  2.  comp.lang.forth FAQs

  The comp.lang.forth FAQ is published in six parts, corresponding to
  these six sections.  This part is the General/Misc FAQ, where the
  questions not covered in the other FAQs are answered. The six parts

  o  General questions < http://www.*-*-*.com/

  o  Online resources < http://www.*-*-*.com/ ;

  o  Forth vendors <>

  o  Forth systems <>

  o  Books, periodicals, tutorials <>

  o  Forth groups & organizations <>

  These FAQs are intended to be a brief overview of the tools and
  information available for the new FORTHer.  For a historical
  reference, programming paradigms, and deep technical information try
  some of the listed references.  For general questions on the internet,
  or the methods used to get this information, try these other Usenet

  o  news.announce.newusers

  o  news.newusers.questions

  o  news.announce.important

  3.  General Questions

  3.1.  What is Forth?

  Forth is a stack-based, extensible language without type-checking.  It
  is probably best known for its "reverse Polish" (postfix) arithmetic
  notation, familiar to users of Hewlett-Packard calculators: to add two
  numbers in Forth, you would type  3 5 +  instead of 3+5.  The
  fundamental program unit in Forth is the "word": a named data item,
  subroutine, or operator. Programming in Forth consists of defining new
  words in terms of existing ones.  The Forth statement

  : SQUARED  DUP * ;

  defines a new word SQUARED whose function is to square a number (mul-
  tiply it by itself).  Since the entire language structure is embodied
  in words, the application programmer can "extend" Forth to add new
  operators, program constructs, or data types at will.  The Forth
  "core" includes operators for integers, addresses, characters, and
  Boolean values; string and floating-point operators may be optionally

  3.2.  Why and where is Forth used?

  Although invented in 1970, Forth became widely known with the advent
  of personal computers, where its high performance and economy of
  memory were attractive.  These advantages still make Forth popular in
  embedded microcontroller systems, in locations ranging from the Space
  Shuttle to the bar-code reader used by your Federal Express driver.
  Forth's interactive nature streamlines the test and development of new
  hardware. Incremental development, a fast program-debug cycle, full
  interactive access to any level of the program, and the ability to
  work at a high "level of abstraction," all contribute to Forth's
  reputation for very high programmer productivity.  These, plus the
  flexibility and malleability of the language, are the reasons most
  cited for choosing Forth for embedded systems.

  3.3.  Hang on, isn't Forth out of date now?

  One of the best answers came from Brad Rodriguez

  < http://www.*-*-*.com/ ;. In short,
  Forth's advantages are that it's comprehensible, small, interactive,
  fast, extensible, and makes it easy to work at a high level of

  BTW, this question came from someone comparing a 10+year old Forth
  system with the latest version of Borland C++. His system was really
  out of date, but also with respect to current Forth systems.

  3.4.  What language standards exist for Forth?

  An American National Standard for Forth, ANSI X3.215-1994, is accepted
  worldwide as the definitive Forth standard.  ("ANS Forth")

  IEEE Standard 1275-1994, the "Open Firmware" standard, is a Forth
  derivative which has been adopted by Sun Microsystems, HP, Apple, IBM,
  and others as the official language for writing bootstrap and driver

  Prior Forth standards include the Forth-83 Standard and the Forth-79
  Standard issued by the Forth Standards Team.  The earlier FIG-Forth,
  while never formally offered as such, was a de facto "standard" for
  some years.

  "FORTH STANDARDS  Published standards since 1978 are Forth 79 and
  Forth 83 from the Forth Standard Team, and ANS Forth - document
  X3.215-1994 - by the X3J14 Technical Committee.  The most recent
  standard, ANS Forth, defines a set of core words and some optional
  extensions and takes care to allow great freedom in how these words
  are implemented.  The range of hardware which can support an ANS Forth
  Standard System is far wider than any previous Forth standard and
  probably wider than any programming language standard ever. See web
  page  < http://www.*-*-*.com/ ; for latest
  details. Copies of the standard cost $193, but the final draft of ANS
  Forth is free and available (subject to copyright restrictions) via
  ftp..." --Chris Jakeman,

  The (un)official ANS Forth document is available in various formats at
  < http://www.*-*-*.com/ ; and at
  <>. The format I like best is
  the HTML version < http://www.*-*-*.com/ ;.

  To get yourself on the ANS-Forth mailing list, consult the various
  README files at  <>.

  Two unofficial test suites are available for checking conformance to
  the ANS Standard Forth:

  o  John Hayes has written a test suite to test ANS Standard Systems
     (available through  < http://www.*-*-*.com/ ;).

  o  JET Thomas has written a test suite to test ANS Standard Programs:

  3.5.  What is an RFI?

  A Request For Interpretation. If you find something in the standard
  document ambiguous or unclear, you can make an RFI, and the TC
  (technical committee), that produced the standard, will work out a

  and labeling it as RFI. The answers to earlier RFIs are available at They are also
  integrated in the HTML version of the standard
  < http://www.*-*-*.com/ ;.

  3.6.  Are there Coding Standards for Forth?

  Leo Brodie's book Thinking Forth gives some advice. Forth shops have
  rules for their coding. Paul Bennet has published those of his
  company; you can find them on
  < http://www.*-*-*.com/ ;.

  3.7.  I have trouble managing the stack. Should I use global VARI-

  No. There are better alternatives:

  o  Keep on trying to use the stack. Reorganize (refactor) your words.
     One day you will get the knack for it. Elizabeth Rather

       The basic skill required for comfortable, efficient Forth
       programming is good stack management.  It's hard for newcom-
       ers to learn, since it isn't a skill required in other lan-
       guages, which all require the use of variables for practi-
       cally everything.  Having taught literally hundreds of
       courses over the last 25 years, I've seen newcomers wrestle
       with this, and have developed exercises (similar to those in
       Starting Forth) to help.  It seems to be a skill rather like
       riding a bicycle: wobbly & scary at first, then suddenly a
       "switch is thrown" in the brain and it seems comfortable and
       natural ever after.

  o  Use the return stack.

  o  Use locals.

  o  Use data structures in memory, and pass pointers to it on the

  o  One area that has been mentioned often as troublemaker is graphics
     programming. Take a look at how postscript handles this: They do
     indeed have a global state to avoid stack management problems, but
     you can access this state only through certain words.

  3.8.  What is the Forth Interest Group?

  The Forth Interest Group "FIG" was formed in 1978 to disseminate
  information and popularize the Forth language, and it remains the
  premier organization for professional Forth programmers.  FIG
  maintains a Web page at  < http://www.*-*-*.com/ ;, with a

read more »

Fri, 20 Aug 1999 03:00:00 GMT  
 Forth Programming Language FAQ: Part 1 of 6, General Information

Posted-By: auto-faq 3.3 beta (Perl 5.001)
Archive-name: computer-lang/forth-faq/part6
Posting-Frequency: Monthly.  A how-to-find-the-FAQ article is posted weekly.

        comp.lang.forth Frequently Asked Questions, part 6 of 6
                      Forth Groups & Organizations

                   Bradford J. Rodriguez, 14 Dec 1996

Please send additions, deletions, or changes to Brad Rodriguez,


Subject: Table of Contents

  [1] Forth Organizations
  [2] FIG Chapters
  [3] Forth Conferences

NOTE: this FAQ is in the early stages of construction.  Contributions
and suggestions are welcome.


Subject: [1] Forth Organizations

Forth Interest Group (FIG)             *** NEW ADDRESS! ***
   100 Dolores St, Suite 183
   Carmel CA, 93923 USA
   telephone: 408-373-6784 (408-37-FORTH)
   fax: 408-373-2845


   Individual membership in FIG is US$45 per year (USA & Canada).
   (Canada air mail US$53/year; all other countries US$60 per year).
   Benefits include:
      * Six issues of Forth Dimensions;
      * 10% discount on FIG retail items (books, disks, etc.);
      * 10% discount on early FORML registration (prior to November 1);
      * Resume referral service for programmers seeking jobs;
      * Electronic services:
        - Resumes posted on FIG's web page
        - Free personal web page on (maximum size 100K)
        - Free email forwarding service at
        - FIG's vast FTP software library, including the Forth
          Scientific Library and much more
        - Access to FIG "members only" site and special interest groups
        - Discounted domain registration ($25 for members and $50 for
          non-members, plus actual Internic registration charges)
      * Contact with local Forth programmers through local chapters;
      * Support of the annual FORML conference.

   Corporate membership in FIG is $125 per year (inquire about foreign
   rates).  In addition to the above, corporate members receive:
      * Five copies of each issue of Forth Dimensions, providing useful
        Forth information for the whole Forth programming team;
      * Free corporate listing, with a 50-word description, in Forth
        Dimensions, to increase corporate visibility in the Forth
        community and aid in recruiting Forth programmers;
      * 10% discount on advertising rates for advertising products and
        services as well as recruiting ads;
      * A link from the FIG web site to a designated corporate web site,
        for better electronic access.

   Library membership in FIG is $125 per year (inquire about foreign
   rates).  Library members receive:
      * Forth Dimensions mailed bimonthly;
      * A complete set six Forth Dimensions mailed at the end of year;
      * A copy of the year's FORML proceedings.

   The UK Chapter of the Forth Interest Group publishes its own
   Forthwrite magazine 6 times a year, maintains an extensive lending
   library of books and periodicals (including Forth Dimensions, JOFAR
   and FORML) with a number of items on disk too.

   Meetings with invited speakers are held 4 times a year at the South
   Bank University, London.

   To join (at only 10 pounds a year, you can't afford not to :-)
   contact Doug Neale on 0181 542 2747 or by post to:
        58 Woodland Way
        SM4 4DS

Institute for Applied Forth Research
   70 Elmwood Avenue
   Rochester, NY  14611  USA
   telephone 716-235-0168

   Publishes the peer-reviewed Journal of Forth Application and
   Research, and holds the annual Rochester Forth Conference.

Association for Computing Machinery (SIGForth)
   ACM's Special Interest Group on Forth has been absorbed into ACM
   SIGPlan, the Special Interest Group on Programming Languages.


Subject: [2] FIG Chapters

[This section is under revision.  If you have information about an

  North Bay Chapter
    Meets monthly, 2nd Sat., at BMUG, 2055 Center Street, Berkeley (1/2
    block from Berkeley BART station).  Tutorial at noon, meeting at 1

  Maryland Chapter
    Meets monthly, third Sat., 1:00 PM, at the Johns Hopkins Applied
    Physics Lab, Columbia, MD.  From the intersection of U.S. 29 and
    Johns Hopkins Road, go west about 1/4 mile.  The Applied Physics Lab
    is on the right, marked by signs and a duck pond.  Usually the
    meeting is in the Kossiakoff Center.  If the Center is locked, the
    meeting will be in the cafeteria.  Contact Jet Thomas,

  Southern Ontario Chapter
    Meets quarterly, 1st Sat. of March/June/Dec., 2nd Sat. of Sept.,
    2 pm, at McMaster University, General Science Building, Rm. 301,
    Hamilton, Ontario.  NOTE: the meeting location may change soon.

    Maintains software library.

  see "FIG-UK" listing under "[1] Forth Organizations"


Subject: [3] Forth Conferences

Rochester Forth Conference
   The Rochester Forth Conference is held in (or near) the Eastern U.S.

EuroForth Conference
   The EuroForth Conference is held in various European countries,
   usually in late October or early November.  The 1996 conference is
   scheduled to be held October 4-7 in St. Petersburg, Russia.

FORML Conference
   The FORML Conference is held at the Asilomar Conference Center in
   California every November.  This year's conference will be November
   29 - December 1, 1996.  The theme is "Experimenting with the ANS
   Forth Standard."  Papers are currently being solicited; abstracts of
   approximately 100 words should be sent to FORML, P.O. Box 2154,

Other Forth conferences have been held in Australia and China.

Fri, 20 Aug 1999 03:00:00 GMT  
 Forth Programming Language FAQ: Part 1 of 6, General Information

Posted-By: auto-faq 3.3 beta (Perl 5.001)
Archive-name: computer-lang/forth-faq/part4
Posting-Frequency: Monthly.  A how-to-find-the-FAQ article is posted weekly.

         comp.lang.forth Frequently Asked Questions, part 4 of 6
           Forth Systems: Commercial, Shareware, and Freeware

                     Stephen J. Bevan, 19 Sept 1995
                     Bradford J. Rodriguez, 7 Feb 1996
                     Jon D. Verne, 1 Mar 1996

  [This FAQ is adopted in its entirety from the "implementations" FAQ produced
  by Stephen J. Bevan, last updated September 1995.  Thanks Stephen!  -bjr]


Table of Contents:
  [0] Recent Changes
  [1] Forth for the 8051/8031
  [2] Forth for a PC
  [3] 32-bit protected-mode PC Forth
  [4] Forth for Windows (3.1x/NT/95)
  [5] Forth for OS/2
  [6] Forth for the 68HC11/68HC16
  [7] Forth written in C
  [8] Forth for UNIX
  [9] Forth for a Sun
 [10] Forth for a Macintosh
 [11] Forth for an Amiga
 [12] Forth for an Atari ST
 [13] Forth for a Transputer
 [14] Forth for a Tandy TRS-80
 [15] Forth for the Apple II
 [16] Forth for 68000 boards (including cross-development from PCs)
 [17] Forth for (miscellaneous) DSP chips
 [18] Forth for VMS
 [19] Forth for playing with Music
 [20] Forth for the BrouHaHa-7245
 [21] Forth that isn't necessarily Forth
 [22] Forth Vendors/Authors
 [23] Contributors and Acknowledgments
 [24] Notes, Miscellanea, Caveats, and Addenda

  Search for [#] to get to section number '#' quickly.  Please note that the
  sections are in "digest" form so cooperating NEWS/MAIL readers can step
  through the sections easily.


Subject: [0] Recent Changes

  95-07-22 bevan Added wpforth listing.
  95-07-22 bevan Added OOF listing.
  95-07-22 bevan Added Ale Forth listing.
  95-07-22 bevan Added gforth description.
  95-08-07 bevan Updated 51forth address.
  95-08-07 bevan Added author for Pygmy Forth.
  95-08-07 bevan Added MacQForth entry.
  95-09-13 bevan Updated New Micros address information.
  95-09-19 bevan Updated Apple II info. wrt LWV latest Apple II catalogue.
  96-01-01 bjr   Changed taygeta path.
  96-03-01 jdv   Added TURBO-Forth listing.  Editted duplicate info.
  96-04-01 jdv   Cut & pasted.  Updated Gforth listings.
  96-05-01 jdv   Updated MacForth listing.
  96-06-15 jdv   Removed stale DSP listings.
  96-06-19 jdv   Updated FORTH, Inc., MVP, & Pocket Forth info
  96-09-09 jdv   Added "Meme" info, updated Acorn (RISC/os) info
  96-09-11 jdv   Added tForth, iForth listings
  96-09-17 jdv   Changed refs to
  96-09-19 jdv   Corrected LMI contact info, updated LMI product info
  96-09-19 jdv   Corrected Forth-Systeme contact info


Subject: [1] Forth for the 8051/8031

    AM Research offer amrFORTH; a cross-development system for the 8051 that
      features a kernel of less than 700 bytes.

    FORTH, Inc.: chipFORTH; an interactive cross-development tool for
      embedded systems.  Support for a wide variety of chips.

    Laboratory Microsystems, Inc. (LMI) offer the LMI FORTH metacompiler that
      cross-compiles to many chip families, including the 8051/31.  Compiles
      to ROMable code, or a turnkey disk application.  Produces headerless
      words for compact code.  There is no license fee or royalty for compiled
      applications.  [JDV:950919]

    Mikrap and Forth-Systeme sell SwissForth and act as agents for LMI.

    MicroProcessor Engineering, Ltd. (MPE) offer the Forth5 Cross Compiler.

    Offete Enterprises 8051 eForth, C. H. Ting.  A small ROM based Forth
      system with source code in MASM for $25.

    William H. Payne, the author of "Embedded Controller Forth for the 8051
      Family", has made all the code for the system described in his book
      available.  It is also available with purchase of the book from FIG.

    eForth51 may be downloaded free of charge from the RealTime Control
      and Forth Board (RCFB) [see].  Designed to be very portable.*  [JDV:960920]

    51forth is a subroutine-threaded Forth by Scott Gehmlich.  [APH:950807]

    CamelForth/51 by Brad Rodriguez is an ANSI Standard Forth that is free for
      non-commercial work (negotiate with the author if you want to use it in
      a commercial product).  This is a beta-test version.  [SJB:950721]


Subject: [2] Forth for a PC

    FORTH, Inc.: polyFORTH; Real-time system for DOS computers, including
      libraries for math, graphics, database, GUIs, and many other functions.

    Harvard Softworks HS/FORTH makes full use of extended memory, and comes
      with optimizer, sound, graphics, and 80x87 libraries.  Has an odd, but
      efficient, use of memory and dictionary structure. [JDV:950919]

    MicroMotion: MasterFORTH. [see also: 15]

    Miller Microcomputer Services (MMS) offer MMSFORTH V2.5 for systems with
      and without DOS.

    MPE: PC PowerForth Plus v3.2 and Modular Forth v3.6.

    LMI offer PC/FORTH, in 16- and 32-bit implementations.  They provide
      libraries for telecommunications, 80x87 support, custom characters,
      target compiler, and more.  Also: 8080 FORTH, and 8086 FORTH.

    MP7: TURBO-Forth.  Four versions optimized for specific CPU's.  Also:
      FASTGRAF; an I/O and graphics package for TURBO-Forth.  [JDV:960216]

    AstroForth, I. R. Agumirsian.  An 83-Standard Russian Forth with windows,
      assembler, and a screen editor.  This is a demonstration system only.

    eForth is a very portable, ANS-aligned, public-domain Forth that comes
      with all sources and only 29 words in assembler. [see also: 1, 3, 8]

    Golden Porcupine Forth, v92.5 by Alexandr Larionov.  Distributed as
      FREEWARE, with Russian docs, for non-commercial work.  Includes various
      useful libraries for graphics, sound &etc.  Follows the Forth-83
      Standard.  Phone: 7 095 288-2660.  [VPF:93]

    Pygmy Forth v1.4 is a small, 16-bit DOS Forth written by Frank Sergeant
      that is modeled after Chuck Moore's cmFORTH for NOVIX.  It is shareware
      but there is no charge for registration.  If you DO choose to register,
      there is a Bonus Disk with goodies for ~$20.  Complete with documented
      source code, editor, assembler, and metacompiler.  Very complete system.

    MVP-FORTH, a Forth-79 from Mountain View Press, Inc. (MVP), is freely
      available for different platforms.  MVP also offer other commercial
      Forth systems, information, and books.

    TCOM v2.5 by Tom Zimmer is a 16-bit cross/metacompiler for DOS.  [SJB:950720]

    F-PC v3.6 is a 16-bit Forth that is based on the Forth-83 Standard, but
      includes numerous extensions.  Very complete implementation, with lots
      of examples, and a huge library of code for graphics, I/O, math, &etc.*  [SJB:950722]

    hForth v0.9.7 by Wonyong Koh is an ANS-Forth inspired by eForth.  This
      free beta release is ANS-compliant, and all commented MASM source code
      is included.  There are three hForth models to choose from: A standard
      EXE (for segmented memory machines), RAM (for any other RAM-only
      system), and ROM (for small embedded systems).  Designed to be easily
      ported to any CPU (a Z-80 version is also available).  [SJB:950720]

    wpforth v1.0 by Albert Chan is a prototype of a typographical programming
      system built around WordPerfect v5.x and Pygmy Forth v1.4.  [SJB:950722]

    ZENForth v1.18a by Martin Tracy is a ROMable small-model ANS-Forth.  The
      beta version is bundled with J. Woehr's book, "Forth: The New Model"

    The following are available in any SIMTEL mirror site: Native code Forth compiler: COM, EXE, SYS, TSR, ROM
      bbl_[ab].zip: Fast 16/32-bit Forth based on F83 -- needs work MiniForth system v2.5, with A86 source [a PD assembler] Sampler of floating point Forth compiler    Original Fig-86 Forth compiler  [SJB:931030]


Subject: [3] 32-bit protected-mode PC Forth

    Bradley Forthware sells Forthmacs for $250.  Price includes source
      and DOS extender.

    FORTH, Inc.: polyFORTH. [see]

    Harvard Softworks has a version of HS/FORTH that provides access to a
      full, flat 4Gb of memory.  [JVN:93]

      for DOS (with the GO32 extender), Win95, or Linux.  iForth is optimized
      for speed. It is subroutine-threaded, and uses a combination of macro
      expansion, special-casing, and peephole optimizing.  iForth also
      contains many words to interface to the PC hardware; either directly
      under MS-DOS, or through libraries in the Linux iServer.  A very large
      number of examples are available, including: graphics, floating-point
      utilities, language compilers and interpreters, code to work with .WAV

read more »

Fri, 20 Aug 1999 03:00:00 GMT  
 [ 7 post ] 

 Relevant Pages 

1. Forth Programming Language FAQ: Part 1 of 6, General Information

2. Forth Programming Language FAQ: Part 1 of 6, General Information

3. Forth Programming Language FAQ: Part 1 of 6, General Information

4. Forth Programming Language FAQ: Part 1 of 6, General Information

5. Forth Programming Language FAQ: Part 1 of 6, General Information

6. Forth Programming Language FAQ: Part 1 of 6, General Information

7. comp.lang.forth FAQ: General Information (Part 1 of 6)

8. comp.lang.forth FAQ: Part 1 of 6, General Information

9. Forth Programming Language FAQ: Part 6 of 6, Forth Groups

10. Forth Programming Language FAQ: Part 4 of 6, Forth Systems

11. Forth Programming Language FAQ: Part 5 of 6, Forth Books

12. Forth Programming Language FAQ: Part 4 of 6, Forth Systems


Powered by phpBB® Forum Software