Article View: comp.lang.misc
Article #4471Re: Check the Arg Count
From: Erland Sommarskog
Date: Tue, 06 Jan 1987 22:31
Date: Tue, 06 Jan 1987 22:31
32 lines
2153 bytes
2153 bytes
In article <23508@rochester.ARPA> ken@rochester.UUCP (SKY) writes:
>
>Varargs: there have been several proposals for the specification syntax
>of varargs. I would be interested if any real language has implemented
>one.
Well, VAX-pascal has something like that. If you declare:
PROCEDURE Alice( Param1 : A_type;
(. List .) Varargs : Some_other_type);
You can call Alice with for instance:
Alice(A_type_value, Some_other_type_value1, Some_other_type_value2,
... etc if you like);
VAX-pascal offers you standard routines to find out many you really did
provide. The restriction is that Varargs must be the last parameter and of
course all must of the same type as far as I can see. I never used this
feature myself. (If any one wonders: VAX-pascal is quite a large language
which happen to standard pascal as a true subset.)
Ada does not allow this, however I think that array aggregates would
fit extremely well for the purpose. If you want a general Max routine
you declare:
TYPE Element_array IS ARRAY (<> RANGE integer) OF Your_favourite_type;
PROCEDURE Max(Elements : Element_array) IS...END Max;
and then you call
Max_value := Max((1,2,3));
To comment the debate in general I must I don't understand it. Saying
that a C compiler shouldn't check for correct numbers of procedure
parameters, just because printf() and scanf() accepts variable parameters
lists makes no sense. These are standard routines aren't they? Thus the
compiler do recognize them.
Technical Details
Message-ID:
<1634@enea.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!seismo!mcvax!enea!sommarReferences:
<3395@amd.UUCP> <4886@mimsy.UUCP> <3101@diamond.Diamond.BBN.COM> <3208@milano.UUCP> <23508@rochester.ARPA>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!mcvax!enea!sommar From: sommar@enea.UUCP (Erland Sommarskog) Newsgroups: comp.lang.misc Subject: Re: Check the Arg Count Message-ID: <1634@enea.UUCP> Date: Tue, 6-Jan-87 17:31:10 EST Article-I.D.: enea.1634 Posted: Tue Jan 6 17:31:10 1987 Date-Received: Wed, 7-Jan-87 02:58:17 EST References: <3395@amd.UUCP> <4886@mimsy.UUCP> <3101@diamond.Diamond.BBN.COM> <3208@milano.UUCP> <23508@rochester.ARPA> Reply-To: sommar@enea.UUCP (Erland Sommarskog) Organization: ENEA DATA Svenska AB, Sweden Lines: 32