[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon May 26 10:35:57 2001 
Subject:Re: argument list separators 
From:Aaron Sloman See text for reply address 
Volume-ID:1010526.02 

[To reply replace "Aaron.Sloman.XX" with "A.Sloman"]

cglur@onwe.co.za writes:

> Date: 14 May 2001 22:04:16 GMT
> ...

> > > Is this matter related to pop11's failure to detect the missing separator
> > > in the local var. declaration, below ?  My understanding is that comma
> > > (only) is a a valid separator here ?
> > >
> > >     define listify(list) -> result;
> > >               vars next   tail;
> >
> > HELP VARS says:
> >
> >     For the present, commas may be omitted except after an initialisation,
> >     but it is recommended that they be used.

> Thanks. That reduces a very uncomfortable feeling.
> But I find such ambiguity unacceptable in computing.

This is not so much ambiguity as excessive tolerance.

The reason why commas are not required is that Pop-11 is essentially a
very old language, born around 1969, reborn as pop2 around 1971, then as
Pop-11 around 1975 and extended in many ways at various times since
then.

Originally "vars" declarations used ONLY spaces as delimeters, and
function definitions started thus:

    function foo x y z;

Gradually more structured syntax evolved

    define foo(x, y, z);

Some of the older more tolerant syntax gradually dropped out of use,
but so much code was written without commas separating variable
names in declarations, and so many tutorial files, books and other
documentation had examples like that, that it would probably have
caused a lot of trouble and annoyance to insist on commas.

I now try to use commas rather than spaces everywhere in declarations in
my code and documentation (e.g. throughout the primer), and I think it
might be a good idea from some time in the future to phase out tolerance
of declarations without commas. I think this would lead to easier
compile time detection of some programming errors.

However, changing all the libraries and teaching documentation to
conform would require some effort. Some of it could be automated.

But this is a small point compared with other changes required in
pop-11 and poplog (e.g. remove dependence on so many environment
variables).

Aaron





>
> > and I'd assume it's mostly a backward-compatability relic from the days                   
> > of POP2.                   
> These apparently trivial details cause 'failure'.                   
>                     
> > No, there's no relationship between the one and the other.                   
>                     
> Aaron wrote:-                   
>                     
> > (c) My own feeling is that although the recent discussions of syntax for                   
> > various types of data-constructing expressions are interesting and                   
> > could, if they had occurred around 1970, have led to much better syntax                   
> > for the pop family, they are far less important for real users than                   
> > other "semantic" issues like the availability of powerful libraries that                   
> > extend what you can easily do, the availability of new debugging and                   
> > development tools, etc.                   
>                     
> Yes, consider the cost/benefit.  The discussed changes seem to me                   
> (a beginner) to be drastic, hence potentially disasterous.                   
> Inevitably the greatest added value per effort (especially for beginnners                   
> usage) is acheived by mundane tasks - which no one want's to discuss.                   
> eg. "set up a system" (NOT do the job) whereby new users report typos                   
> in the tutorials, which are fixed.                   
>  ...                   
> > By comparison with "semantic" extensions of the above types, I believe                   
> > changes to the syntax of existing constructs are really of marginal                   
> > importance!                   
>                     
> Very important, marginal value, hence not recommended to change.                   
> ...                   
> > Is anyone interested in forming a collaborative project to provide                   
> > the gsl extension to pop-11???                   
>                     
> Are the extensions just mathematical facilities ?                   
> Can you list some example(s) ?                   
>                     
> Chris Glur.                   
====
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs/ )
School of Computer Science, The University of Birmingham, B15 2TT, UK
EMAIL A.Sloman AT cs.bham.ac.uk   (ReadATas@please !)
PAPERS: http://www.cs.bham.ac.uk/research/cogaff/
FREE TOOLS: http://www.cs.bham.ac.uk/research/poplog/freepoplog.html