>> Sure. Adobe postscript is a thread interpretative language (TIL). >> It looks very much like FORTH if you squint real hard.
You'd have to squint pretty hard. I'd say that PostScript is FORTH with the stacks hidden and more datatypes added. The major thing it shares with FORTH is that it's a postfix stack language. It does not have things like R> and >R, or immediate words, or any of many other things that FORTH can support _because_ it's threaded code running in an interpreter with very simple data structures for things like dictionaries. > I don't know if PS is threaded. It could be. PS claims not to be inspired $ I find it easy to credit, actually; the only part of PS that I see as layable at FORTH's doorstep is the use of a postfix stack model for primitives' inputs and outputs. PS has a lot of other things FORTHs (in my admittedly limted experience) don't, such as many compound types as first-class objects (dictionaries and arrays are the big ones), data-as-code at a level that, while not quite up to Lisp, is far more abstract that FORTH's "assemble a vector of threaded-code pointers" model, and a number of hidden data types (hidden in that they are not first-class language objects) like paths and graphics states. Also, PostScript has a lot of language syntax, whereas FORTH has immediate words that act like language syntax. (The difference is that FORTH makes it possible to change those words, thereby changing the apparent syntax.) As for run-time versus compile-time name binding, PostScript does not normally have any "compile time", since it's not normally compiled. The closest thing is the assembling of an executable array, which you can convert to "compile-time" binding with the bind primitive (as in "/foo { dup cos exch sin } bind def", versus the same thing without the bind). A PS engine may use threaded code, but it does not need to; the language is insulated enough from the implementation that it is difficult-to-impossible for the PS programmer to tell. FORTH is much less insulated. I am offering no value judgement either way. In some respects, the above differences make PostScript the better language; in others, FORTH. And that's as I think it should be: different languages for different purposes. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mo...@rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B