[comp.lang.forth] PostScript is NOT based on Forth

wmb@MITCH.ENG.SUN.COM (01/03/91)

> I have other dream machines.
> A muilti-FORTH engine running a NEXTSTEP workstation, for one.
> My reasoning is that with Display Postscript being based on FORTH
> a FORTH engine auta do just fine.

PostScript in NOT based on Forth.  Quoting from the Preface in the
_PostScript Language Reference Manual_ (The "Red Book"):

        Although the Design System language [the precursor to PostScript]
        and its successors bear a superficial resemblance to the FORTH
        programming language, their conception and development were
        entirely independent of FORTH.

I believe this.  I really really do.  I know both Forth and PostScript
rather well, and I believe that there are *profound* differences in the
guts of the two languages.  The similarity starts and ends with "both
languages have postfix syntax".  The execution models are so different
that there is no particular reason to believe that a good Forth engine
is necessarily a good PostScript engine.  (A particular Forth engine
might turn out to be an okay PostScript engine just by virtue of being
generally a fast machine, but the stack optimizations of the Forth
engines I know of don't match the PostScript stack requirements very
well, nor do the optimization for handling threading).

In my view, the Magic-L language (essentially STOIC with Pascal-like syntax),
even though its syntax is not postfix at all, is much much closer to Forth
then PostScript.

The order in which you type words to compose a program has only a minor
influence on the optimum execution architecture for a language.  The type
structure of a language is much more important (PostScript has typed
objects, Forth has untyped "cells"), and the binding is more important
too (PostScript defaults to late binding, Forth to early binding).

Mitch Bradley, wmb@Eng.Sun.COM

cwpjr@cbnewse.att.com (clyde.w.jr.phillips) (01/04/91)

In article <9101031535.AA12653@ucbvax.Berkeley.EDU>, wmb@MITCH.ENG.SUN.COM writes:
> > I have other dream machines.
> > A muilti-FORTH engine running a NEXTSTEP workstation, for one.
> > My reasoning is that with Display Postscript being based on FORTH
> > a FORTH engine auta do just fine.
> 
> PostScript in NOT based on Forth.  Quoting from the Preface in the
> _PostScript Language Reference Manual_ (The "Red Book"):
> 
>         Although the Design System language [the precursor to PostScript]
>         and its successors bear a superficial resemblance to the FORTH
>         programming language, their conception and development were
>         entirely independent of FORTH.
> 
> I believe this.  I really really do.  I know both Forth and PostScript
> rather well, and I believe that there are *profound* differences in the
> guts of the two languages.  The similarity starts and ends with "both
> languages have postfix syntax".  The execution models are so different
> that there is no particular reason to believe that a good Forth engine
> is necessarily a good PostScript engine.  (A particular Forth engine

In general I agree with you, however...
I happen to know of another Major Application that denied FORTH influence
and basis, that ran an environment and execution model very close to postscript
and had tagged and typed data, arrays could be manipulated as easily
as numbers on the stack, etc, yet their publisher didn't want to
acknowledge FORTH and made a simular statement as above.
Yet this product was a re-engineered FORTH that provided postscript like
functions in FORTH.

...if it quacks like a duck... 

Whether the statement is truthful or not we may never know, but I do know
that fundamental differences don't negate the simularities!
In other words a tagged & typed FORTH would still be much more of
a FORTH than a "C" or Pascal, wouldn't you agree?

> might turn out to be an okay PostScript engine just by virtue of being
> generally a fast machine, but the stack optimizations of the Forth
> engines I know of don't match the PostScript stack requirements very
> well, nor do the optimization for handling threading).

Wouldn't a FORTH implementation of Postscript match better? Say ala 
FIFTH's postscript interpreter?
> 
> In my view, the Magic-L language (essentially STOIC with Pascal-like syntax),
> even though its syntax is not postfix at all, is much much closer to Forth
> then PostScript.
> 
> The order in which you type words to compose a program has only a minor
> influence on the optimum execution architecture for a language.  The type
> structure of a language is much more important (PostScript has typed
> objects, Forth has untyped "cells"), and the binding is more important
> too (PostScript defaults to late binding, Forth to early binding).

My point is exactly that I found type checking, compile time checking and
OOP stuff including Late Binding that I implemented in FORTH to not
change the essence of FORTH; it's external interface,
leaving me with a FORTH that still seems
more like FORTH than anything else, except maybe postscript! 8^)

The execution environment does relate to Uchip architecture but
an implementation ( of any other application domain language )
written in FORTH is still better run on a FORTH chip.
> 
> Mitch Bradley, wmb@Eng.Sun.COM

--Clyde