Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!rochester!ken
From: ken@rochester.ARPA (SKY)
Newsgroups: comp.lang.misc
Subject: Re: Check the Arg Count
Message-ID: <23508@rochester.ARPA>
Date: Tue, 30-Dec-86 22:42:03 EST
Article-I.D.: rocheste.23508
Posted: Tue Dec 30 22:42:03 1986
Date-Received: Wed, 31-Dec-86 03:47:30 EST
References: <3395@amd.UUCP> <4886@mimsy.UUCP> <3101@diamond.Diamond.BBN.COM> <3208@milano.UUCP>
Reply-To: ken@rochester.UUCP (SKY)
Organization: U of Rochester, CS Dept, Rochester, NY
Lines: 26

|for your info, printf() and scanf() may not even be functions. They are
|frequently implemented as macros, and are part of stdio.

I suggest you look again at stdio.h. All the cpp's I know don't allow
variable numbers of arguments to a macro. You're confusing them with
putchar and friends.

As for the main discussion:

There are two issues that are in danger of being confused here -
separate compilation and varargs. It just so happens that vanilla
Pascal disallows both and C is the reverse.

Separate compilation: with the problem of writing large software
packages, it is generally (but not universally) considered a good thing
to have cross-module checking.  C's checking (a.k.a. lint) is
voluntary, Modula-2's is mandatory.

Varargs: there have been several proposals for the specification syntax
of varargs. I would be interested if any real language has implemented
one.

If you would rather debate religious issues, followup to
misc.religion.langs (a.k.a. /dev/null on most systems :-)).

	Ken