Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!usc!ucsd!ucbvax!MITCH.ENG.SUN.COM!wmb From: wmb@MITCH.ENG.SUN.COM Newsgroups: comp.lang.forth Subject: PostScript is NOT based on Forth Message-ID: <9101031535.AA12653@ucbvax.Berkeley.EDU> Date: 2 Jan 91 20:10:32 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: wmb%MITCH.ENG.SUN.COM@SCFVM.GSFC.NASA.GOV Organization: The Internet Lines: 35 > 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