Ken Rose wrote:
> Ah, heck. Let's start now. What are the points of incompatibility
> between PM3 and CM3, and how should they be resolved? What should be
> added to the language? What should be taken away?
If I could decide, I would add a well-defined FOR statement, as described
in
http://www.roland-illig.de/articles/modula-3-for-loop.pdf
I had also some thoughts for extending the WITH statement, for example
WITH <Identifier> = READONLY <Expression> DO <Statements> END;
or, as syntactic sugar,
WITH <Identifier> := <Expression> DO <Statements> END;
which would create a new variable <Identifier> and not an alias to
<Expression> if that's an lvalue.
It's about six months ago that I have used Modula-3 for the last time,
so it might be that I don't remember exactly what I had wanted back in
that time. :)
Another thing that makes the language "look old" is the requirement that
all keywords are written in uppercase letters. But apart from this, I
really like the language. And, after some initial problems, I really
liked that feature because it leaves the programmer with the freedom to
use _all_ identifiers that have a lowercase letter in them, which is
very convenient.
Roland


|