[comp.lang.forth] Processors and Standards

wmb@MITCH.ENG.SUN.COM (Mitch Bradley) (02/22/91)

> Ok, perhaps I should be a bit more explicit.  I was thinking of PC versus
> Unix (Sun, Apollo, etc).  PC-Forths versus C-Unix Forths.  Since there is
> no wide spread defacto standard, switching from processors implies (or so
> I tried to assume) switching between standards.

This is an excellent point, but I would come to a slightly different
conclusion; you don't need to switch between standards, as Forth-83
derivatives exist in both environments.

Rather, when you move to any "workstation class" machine, or indeed any
machine based on a 680x0 (Macintosh, Atari ST, Amiga), you start getting
into "uncharted territory" as far as existing standards are concerned.
In these kinds of environments:

        Source code in BLOCKs makes little sense
        32-bit addressing is the name of the game
        The existence of the operating system cannot be ignored
          (leading to problems with the traditional Forth memory model,
          and also providing market requirements for access to
          OS features)
        Hardware alignment restrictions sometimes apply
        C is a viable, useable, and ubiquitous development environment,
          and Forth has to be competitive with it to succeed

The Forth 83 standard does not address these issues.  Successful Forth
implementations in these environments have addressed these issues,
but without the guidance of a standard, there has been great divergence.

In the last 2 or 3 years, even the PC world has begun to face the same
issues (because of Turbo-C, 386 chips, cheap megabit RAM chips, and
Windows 3).

Mitch