To answer a couple of specific points made about quotation in POP-11
and Pepper, here's a short note.
In the context of the POP-11 syntax "'any chars'", Aaron Sloman writes:
> I've just realised that this facility could be screwed up by the
> suggestion from Steve Knight and Chris Dollin to allow multiple
> quoted words by using
> "the cat on the mat"
> to put five words on the stack.
Yes, this is an issue. However, it is dealt with via the obligatory
force-quotation mechanism '\'. So where you would write
"'f(x)'" in POP-11
you write
"\'f(x)'" in Pepper
This is rather neater than the POP-11 syntax because it works in
any context. For example one has to write
[A funny atom % "'f(x)'" %] in POP-11
to get the same effect as
"[A funny atom \'f(x)']" in Pepper
> Taking account of all requirements when designing a general purpose
> language is HARD!
I couldn't agree more. Illustrating this, the recent evolution of
POP-11 has left a number of awkward features. One of the aims in
designing Pepper was to explore the possibility of a rational
reconstruction of some parts of POP-11. In the case of quotation,
list and vector syntax I am satisfied that Pepper is a clean and
thorough solution.
And we certainly found designing the details of the solution exceedingly
tricky! POP-11 is one of the best designed languages in existence
and even its weak points are hard to definitely improve on. Although
we had a strong vision of the core of the solution, designing a system
that coped with all the corner cases was difficult.
Steve
|