Re: ForthOS 1.0 released

From: Andy Valencia <>
Date: Wed Jan 05 2005 - 10:13:28 PST

Howard Lee Harkness <> wrote:
> Interesting project. I hope to be able to explore it this weekend. I
> see that there is a vi-style editor in the list of bunch-o-stuff, but
> I'm wondering what sort of other applications (or plans for same) there
> are -- for instance, word processing, spreadsheet, database, browser,
> and mail/newsreader, just to hit on the minimum collection of stuff I
> would need in order to have a usable system without having to switch to
> another OS...

There's PCI, an ethernet driver, and TCP, UDP, IP, and ARP in the queue.
Other than that, my own development is centered on new stuff, not
reimplementations of existing stuff.

> Perhaps there is some way of 'hooking' such applications written in some
> other language (for Linux, etc)?

If you want a desktop environment, especially one filled with bloated
monolithic apps which can not leverage mechanisms from each other, nor
permit interactive access, then may I suggest Linux? :->

> Without applications, ForthOS will be a pretty toy, interesting (only to
> techies like me) to play with for a short time, but not generally useful
> except for dedicated applications, such as an embedded strain-guage
> system I worked on about 10 years ago using a single-board 6511-based
> system. Embedded systems typically don't need the power of a PC,
> although I did an embedded system for semiconductor testing using PCs
> because they were actually cheaper TCO than an embedded system (no need
> for compact size or special weatherproofing, etc., and we needed
> something flexible and off-the-shelf).

My own work uses ForthOS as a high-end embedded server.

> So what sort of plans do you have for ForthOS? I'm trying to get a feel
> for whether I have anything worth contributing, and how I might fit into
> this project.

If you accept Linux/Windows on their own terms, you will find that (1) you'll
never catch up (unless you port everything, at which point you become them)
and (2) given the same underlying principles, you'll end up very near the same
bloated and inflexible endpoint as them.

If you go back to Forth's first principles, as expressed by Charles Moore
and also discussed by Dr. Ting, then (switching to my own words and
interpretation here) working in Forth is taking a model stack machine,
and iteratively layering views of this machine to implement successively
higher level machines which are closer to your target application. As
Dr. Ting observed in a Forth round table years ago, Forth is not really
a good teaching language because this process really demands a lot of
experience. It's easy to do it badly, and then the would-be programmer
declares that Forth sucks. Really, it's much more likely that their use
of the tool sucked.

So I think of Forth as an arrow, or a vector, and you shoot it at a single
target. I'm *way* down this path for my own work, but with the happy
coincidence that the core Forth system is easily packaged and available
as a starting point for anybody else who might have their own target.
The fact that I can edit, compile, and debug on the same machine that runs
my app greatly improves my development productivity, but it doesn't imply
that I want to replace all the incumbent desktop OS's with ForthOS (I'm
typing this on FreeBSD, and that fact doesn't bother me at all).

I've already been told that I need to put a philosophy/vision statement
on the WWW server, and I'll use this text as a starting point for that.

Andy Valencia
Received on 5 Jan 2005 18:13:28 GMT

This archive was generated by hypermail 2.1.8 : Tue Sep 26 2006 - 09:03:04 PDT