Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Jan 2004 15:34:17 -0800 (PST)
From:      "Bruce R. Montague" <brucem@mail.cruzio.com>
To:        freebsd-hackers@freebsd.org
Subject:   Re:  beastie boot menu, 4th (forth)
Message-ID:  <200401092334.i09NYHHQ000311@mail.cruzio.com>

next in thread | raw e-mail | index | archive | help


 Hi, re the question from Roman Neuhauser <neuhauser@bellavista.cz> Fri, 9 Jan 2004:

 > forth looks like it's an interesting .. language.   
 > Can anyone recommend good (or just
 > any, really) introductory material?

---

If you do want to get into Forth, you can probably find
some of the following in a decent research library:

* The common leading intro text to Forth was:

  "Starting FORTH", Leo Brodie, FORTH, Inc.,
  Prentice Hall, 1981.


* Another good intro was:

  "FORTH", W.P. Salerman, O.Tisserand, and B. Toulout,
  Springer-Verlag, 1983.


* It's not a tutorial, but it may be helpful:

  "FORTH Encyclopedia: The Complete FORTH Programmer's Manual",
  Mitch Derick and Linda Baker, 2nd ed., Mountain View Press,
  1982.


* Uneven, but potentially very good for the novice,
  "Invitation to FORTH", Harry Katzan, Jr., PBI,
  1981.


* If nothing else, you should be able to find this
influential introductory paper by an IBMer, which arguably
played an important role in legitimizing Forth use:

  "An Architectural Trail to Threaded-Code Systems", Peter M. Kogge,
  "IEEE Computer", v.15,n.3, pp.22-32, March 1982.


---
If you are used to any RPN language, such as found on an
HP calculator, or Postscript, you will find getting into
Forth rather easy (Although not the same, Forth and
Postscript are very similar).

It's not often described this way, but you can somewhat
think of Forth as a stand-alone interactive threaded-code
compiler backend, which you can program directly using the
compiler's intermediate language and interact with the
symbol table.

Forth is at it's best when you have small (<32K), unique
embedded systems (perhaps with custom architecture) and
have no existing toolchain.

I think you could find a Forth in the ports tree to
get up-to-speed with, before looking at boot-time
FICL...

Paul Frenger has a Forth column in SIGPLAN notices.  For
instance, the only published academic reference that I
am aware of that describes PicoBSD is "Forth and the
FreeBSD Bootloader", Paul Frenger, "ACM SIGPLAN Notices",
August 2000, v.35,n.8, pp.15-17.

I don't know how active this is, but there are many
links:

 http://www.forth.org

Forth seems to have become heavily used in spacecraft.
The instrument platform on the US probe that landed
on as asteroid awhile back was all Forth, if I understand
correctly. Both US and USSR used Forth this way. See also:

 http://forth.gsfc.nasa.gov

Reasonably impressive list...


 - bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401092334.i09NYHHQ000311>