By the way: Where are those many different Extended Pascal compilers?
You have Prospero's compilers for Dos/Windows and OS/2, DEC has a Pascal compiler on VAX which implements almost all of the Extended Pascal standard. I'm not sure of the Macintosh, there is a Pascal compiler on the Mac from Warriar, but if that one implements Extended Pascal?? I'm going to research that today.
You don't lose portability by simply including bit-shift operators, objects,
etc. into
the Extended Pascal standard. But they didn't include them. No idea, why.
Objects are in another standard. bit-shift operators have to depend upon memory layout and byte ordering. But I agree with you that they should be available.
And what about, say, user-defined operators which are almost a *must* for
scientific calculations?
I completely agree with you that user-defined operators are a must in a field where those operators defined. In most other areas they are not. We can probably atttach a dozen explanations to the following construct:
House := PersonA + PersonB;
The example you gave had exactly one meaning clear to everyone.
But I don't intend to spend my time with trying to satisfy standard
specifications I don't realize their
sense.
I can quite agree with you. But don't forget: there are millions, literally millions of code written in some form of Standard Pascal out there in the world. For such people an alternative in the form of GNU Pascal could really be interesting.
How would you define "real Pascal spirit"?
Let the compiler do as much as possible for you: basically that comes down to no untyped pointers. I *have* to use much more untyped pointers in Borland Pascal (in obtaining addresses from procedures, strings, etc.) than would be necessary.
Extended Pascal may be good, but GPC will be even better. It is time to set
up the next standard!
Completely agreed. I can accept the modifications to GPC.GUIDE you presented. Of course a compiler which accepts Borland Pascal syntax is a major advantage. Makes porting much easier. And if you really have good alternatives for Borland's standard libraries...
Groetjes,
Berend.
Berend de Boer wrote:
bit-shift operators have to depend upon memory layout and byte ordering.
That's not true. The bit-shift oparations are mathematically defined on the set of integer numbers and are independend from the representation of the number in memory. $900 shr 1 = $480 (or: 16#900 shr 1 = 16#480 :-) holds on any machine, independendly of the question whether the numbers are stored internally as 00 09 and 80 04 or as 09 00 and 04 80.
I can quite agree with you. But don't forget: there are millions, literally millions of code written in some form of Standard Pascal out there in the world. For such people an alternative in the form of GNU Pascal could really be interesting.
I would guess that even much more code has been written for Borland Pascal, and for those programmers GNU Pascal could be interesting too. However the best thing is to support both.
I *have* to use much more untyped pointers in Borland Pascal (in obtaining addresses from procedures, strings, etc.) than would be necessary.
With Borland Pascal, you can have procedural parameters, Pointers to strings, etc.. The construct @myString is a pointer to a string, no untyped pointer, when you enable the "typed @ operator" option. You don't need to use untyped pointers in Borland Pascal, except for real low-level programming.
Peter