Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!whuxl!whuxlm!akgua!gatech!seismo!lll-crg!lll-lcc!qantel!hplabs!tektronix!reed!bart From: bart@reed.UUCP Newsgroups: net.lang.mod2 Subject: Re: IO (Re: Overloading) Message-ID: <2714@reed.UUCP> Date: Fri, 7-Mar-86 13:59:14 EST Article-I.D.: reed.2714 Posted: Fri Mar 7 13:59:14 1986 Date-Received: Sun, 9-Mar-86 09:07:15 EST References: <860305-123100-1751@Xerox> Organization: Reed College, Portland, Oregon Lines: 34 > Here's a total flame. No > I strongly disagree that basic sequential I/O should go into a language. > Here at Xerox, could you have anticipated these I/O methods, or would > you like to change our compiler every time we prototype a better I/O > system (which we've done several times already, with new modules)? > > .... > .... I can't TAKE it any more!! It seems clear to me that the way it SHOULD have been done is for Modula-2 to have a generalized mechanism for letting users write 1) VARARGS (variable number of parameters) and 2) variable type of parameter routines. Then if one gets excited about not having "writeln", one can write a writeln library. And if one later gets windows, one can add an optional extra parameter to indicate a window number. Etc. The things that C, for example, didn't do right in this case were 1) Provide a standard mechanism for determining the type of an untyped parm. 2) Provide a standard way of counting and accessing each argument in a varargs list. Modula-2 open arrays suffer in that an open array is still a single parameter, which restricts the type of each of its elements, and that it isn't counted upon passing -- in short, they don't do what is wanted. Would it really have been that hard to do this right? Is it too late in the game to tack it on? Bart Massey ..tektronix!reed!bart