From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84 (Fortune 01.1b1); site graffiti.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!ut-sally!ut-ngp!shell!graffiti!peter From: peter@graffiti.UUCP (Peter da Silva) Newsgroups: net.lang.ada Subject: Re: text_io problems Message-ID: <229@graffiti.UUCP> Date: Mon, 23-Sep-85 07:30:52 EDT Article-I.D.: graffiti.229 Posted: Mon Sep 23 07:30:52 1985 Date-Received: Wed, 25-Sep-85 03:49:55 EDT References: <8509172214.AA04519@UCB-VAX.ARPA> Organization: The Power Elite, Houston, TX List-Id: > I am not proposing any changes to the language to address this, since > there are good reasons for the limitation. Though well defined in the ARM, > the IO packages are not really part of the language in the sense that they are > packages like any other, not to be implemented by special features such as > routines with variable numbers of parameters. For a variety of good reasons, > variable number of parameters are not permitted. What is wrong with a well-defined varargs interface? It doesn't have to be efficient: if you want efficient I/O you're going to be packing stuff into buffers and feeding them out through direct writes. Maybe an array of structs like so (ADA ref manual not here, so I'll do it in Pascal, yet another language I'm no longer familiar with): type arg: record case tag: integer in 0: int: integer; 1: flt: real; 2: chr: character; 3: str: string; end end; It would also be useful for symbol tables & the like.