On Sun, 18 Jan 1998, Ned Freed wrote:
In fact I see such things as irregular rather than regular. Having a language
where some forms of statements are "built in" and hence are formatted as
readily recognizable statements and others are "extensions" and have to appear
as functions (or expressions or what have you) is pretty irregular in my book.
Fair enough. So, if it were designed such that everything looked the
same, it'd be okay? (I agree; assignments and loops should not look like
This is not a reading of history I agree with. The fact of the matter is that
I see languages all over the place that are riddled with screwy syntax rules,
are astonishingly difficult to parse, and yet are extremely popular and
They're popular in the sense that they're used; they're not popular in
the sense that they're universally hated by programmers. I think the
trend of language regularity => better language still applies (especially
since most of your examples are outmoded dinosaurs which I think we all
wish would just disappear).
Re: PostScript: I think we want, in all cases, to have the interpreter
punt the program if it hits something it doesn't understand. You can do
this by announcing at the top of your code the extensions you require
(and, actually, I like having this ability anyway), and you can also have
the processor plod along until it hits something it doesn't understand,
giving the script a chance to work around the lack of an extension.
Nothing we do is going to prevent people from writing proprietary and
non-standard extensions, and nothing we're going to do is going to prevent
script writers from using them without testing anything.
I think this is orthogonal to the question of whether or not old
interpreters should be able to *parse* code with extensions. (Maybe not
interpret - but parse.)
And perhaps worst of all is the fact that all this support for extensions
didn't satisfy anyone. It is by no means uncommon for PostScript programs to
piddle around with the interpreter loop in an attempt to enhance the basic
syntax of the language. And don't confuse this with languages like LISP with
"nice" facilities like reader macros -- this stuff is *ugly*. But people still
Actually, this is exactly what I see happening to the current Sieve
proposal; there're a number of things which can't be done cleanly in the
current syntax, so people who want those things *will* extend the syntax.
Especially since we're suggesting it as a good thing for extensions to do.
I'd *much* rather just nail down the syntax once and for all...