Well, it's nice to see we are now in agreement in most areas.
BTW, in case there is any remaining doubt, let me make it
clear that I have never myself regarded a program without a
parameter list as "pointless".
I'm glad you liked those ISO-10206 citations, too. Even if you
want to limit yourself to ISO-7185, the EP standard is still a
useful guide to the interpretation of ISO-7185, since it builds
directly upon this, but takes a broader view of the application
of Pascal in the real world.
You are correct that ISO-7185 only defines ONE mechanism by
which program variables can be bound to external entities - via
the program parameter list! Any other mechanism, which may
be employed by a particular implementation, is a non-standard
extension (well, by definition, all extensions are non-standard;-)!
Joe.
> -----Original Message-----
> From: J. David Bryan [SMTP:dbryan@bcpl.net]
> Sent: Thursday, October 25, 2001 2:01 AM
> To: GNU Pascal List
> Subject: Re: Errors and Standards (was: compiler bug)
>
> On 23 Oct 2001, at 11:44, da Silva, Joe wrote:
>
> > Sorry if I wasn't clear ... when I said "my understanding is ...", what
> > this meant (and BTW, I thought this would be clear from the subject
> being
> > discussed) was "my understanding of the standard(s) is ...".
>
> I understood what your understanding was. ;-) My assertion is that
> understandings of the standard don't count, only statements from the
> standard do.
>
>
> > So, if you have specific areas where you believe that I have
> contradicted
> > the standard(s), please indicate the particulars, so we can both
> > double-check it.
>
> I can't, because I believe that you have asserted a restriction that is
> not
> in the standard (but see my comment about "the standard" below). I can't
> cite a passage from the standard that specifically allows linking of non-
> program-parameter, main-block variables to external entities, because the
> standard says nothing about such linking (allowed or disallowed). Can you
>
> cite a passage that disallows such use?
>
>
> > BTW, you should note that we are in agreement that a program without a
> > parameter list is perfectly legal.
>
> Duly noted! ;-)
>
>
> > As to whether such a program is "pointless", please note that any such
> > inference (which arose when I semi-quoted Peter Grogono), was nothing
> > more than a bit of humour.
>
> The issue for me is not whether certain programs are or are not pointless.
>
> My contention is broader, specifically, that any such assertion must be
> supported by the standard and not simply by "common sense." The Pascal
> standards are written in horribly arcane language to ensure that they are
> not open to such interpretations, i.e., that everything stated is
> unambiguous. We shouldn't have to argue about whether a given program is
> or is not legal (or pointless), because the standard should either
> prohibit
> it or not.
>
> Given the choice, I would much rather decide things on the basis of
> opinions and common sense, as reading the standards always gives me a
> severe headache. But I believe that we cannot do that, if GPC is to claim
>
> adherence to those standards. If there is disagreement over positions
> that
> GPC should take, then the choice of position must be the one that is
> supported by citations from the standards.
>
>
> > Now, specific to your situation, a very quick check of the ISO-10206
> > standard revealed the following...
>
> Ah, but the assertion regarding "pointlessness" (i.e., that a program
> without program parameters could have no side effects) was made in the
> context of ISO 7185. Frank allowed that ISO 10206 programs could have
> side
> effects without program parameters (and is supported by the passages you
> cite).
>
> I concur completely with your citations in the context of ISO 10206.
>
> However, ISO 7185 mentions binding to external entities only with
> reference
> to program parameters (section 6.10). I contend that 6.10 applies only to
>
> main block variables that are also program parameters and therefore is not
>
> applicable to (and therefore does not restrict) other main block variables
>
> being bound by some other mechanism external to the language.
>
> -- Dave