Hi, everybody!
Let me just tell you my thoughts about Pascal's identity and the future of GPC.
My point is: I need a working GPC as soon as possible to make a living. At the moment, I am programming mostly in Borland Pascal 7.0. But BP7 has no future outside Windows 95, so I want to switch to GPC completely.
To me, features which make my programs evolve faster have highest priority. (Of course, actual bug fixes have highest priority, too.)
It is desirable to comply to existing standards, but I don't consider this compliance as an end in itself - at least concerning Pascal where very few people know the standard and even fewer are content with it. For example I continue to use BP-style Units although there are EP Modules. I find Units better. (BTW, Units have not been invented by Borland, but they are part of the UCSD Pascal standard.) OTOH, I see the advantages of Schema types, so I want to have them before I start porting my major application programs to GPC (i.e. continue with BO5).
For some standard features I don't see their use, but they are hard to implement, so I assign them quite a low priority. This especially applies to some error messages required by the standard, e.g. for unresolved `case'. In case somebody else wants to take care of such things, I would be glad to help him or her to get into GPC hacking.
So completing the standard/s does *not* have higher priority to me than to create GPC extensions. (However I will try to do both.)
Concerning the purity of Pascal I agree that there are *some* extensions which should at least be warned about unless you explicitly enable them (with (*$X+*) - or with the command-line option "--extended-syntax"). I am speaking of those extensions which could become a trap for beginners. For example, function overloading should be disabled by default because it might confuse a beginner who does not yet know enough about parameter lists. OTOH, I don't see any need for disabling operator overloading by default because you cannot overload an operator unintentionally.
For the case somebody does not like GPC to support a mixture of several Pascal dialects, there exist options which enforce a certain standard, including all misfeatures, as far as implemented. For example, the "--borland-pascal" option does not only disable EP Modules, but also the warning about assignment to typed constants. OTOH, the "--extended-pascal" option disables UCSD Units. Both options disable operator overloading.
I hope this helps to clarify what direction I intend GPC to go. Suggestions are welcome; actual help to implement things is even more welcome. ;-)
Yours,
Peter
Dipl.-Phys. Peter Gerwinski, Essen, Germany, free physicist and programmer peter.gerwinski@uni-essen.de - http://home.pages.de/~peter.gerwinski/ [970201] maintainer GNU Pascal - http://home.pages.de/~gnu-pascal/ [970125]