[Cst-1b] Comp.Prog.Lang - ALGOL - Trouble Spots 2

Matthew Richards mwr22@cam.ac.uk
Fri, 12 May 2000 09:33:00 +0100


Is he referring to the fact that you can pass procedures as arguments, but
can't specify their argument types or whether they're call by name/value?  I
think he mentioned something about that at some point.  In fact I'm not sure
you could even specify how many arguments a procedure you're passing should
take, but that might be my imagination.  So maybe rephrase what he's written
as "The types and mode of calling of procedures passed as arguments could
not be specified".  Just a thought...

Matthew


-----Original Message-----
From: cst-1b-admin@srcf.ucam.org [mailto:cst-1b-admin@srcf.ucam.org]On
Behalf Of Martin Harper
Sent: Wednesday, May 10, 2000 9:23 PM
To: Revision List
Subject: [Cst-1b] Comp.Prog.Lang - ALGOL - Trouble Spots 2


On page 16 of comp.prog.lang(5.8), one of the trouble spots of ALGOL is
claimed
to be -
"The types and modes of calling procedure arguments could not be specified."

however, looking at the code fragments, it seems that you can - for example,
over the page there is a "transpose" procedure, which runs as -

real procedure transpose(A, m)
    value m;
    real array A; integer m;
begin
    ...
end

this clearly implies to me that the mode of calling is that m is by val, A
by
name, and that m is an integer, while A is a real array.... what have I
forgotten/misunderstood? :(

Martin.