Pascal's identity

Fri, 14 Mar 1997 21:35:30 +0100 (MET)


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]


Peter Gerwinski (peter@agnes.dida.physik.uni-essen.de)

HTML conversion by Lluís de Yzaguirre i Maura
Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza@upf.es