🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #4471

Re: Check the Arg Count

#4471
From: Erland Sommarskog
Date: Tue, 06 Jan 1987 22:31
32 lines
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!sommar
References: <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