From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 2486 invoked from network); 11 May 2020 01:00:56 -0000 Received-SPF: pass (minnie.tuhs.org: domain of minnie.tuhs.org designates 45.79.103.53 as permitted sender) receiver=inbox.vuxu.org; client-ip=45.79.103.53 envelope-from= Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 11 May 2020 01:00:56 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id BBA729C5EB; Mon, 11 May 2020 11:00:52 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 494409C2ED; Mon, 11 May 2020 11:00:33 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=yaccman.com header.i=@yaccman.com header.b="YaUoeJB4"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 8731C9C2ED; Mon, 11 May 2020 11:00:31 +1000 (AEST) X-Greylist: delayed 1586 seconds by postgrey-1.36 at minnie.tuhs.org; Mon, 11 May 2020 11:00:30 AEST Received: from beige.elm.relay.mailchannels.net (beige.elm.relay.mailchannels.net [23.83.212.16]) by minnie.tuhs.org (Postfix) with ESMTPS id 92AE49B75D for ; Mon, 11 May 2020 11:00:30 +1000 (AEST) X-Sender-Id: dreamhost|x-authsender|scj@yaccman.com Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id CE9DA7E082F; Mon, 11 May 2020 01:00:29 +0000 (UTC) Received: from pdx1-sub0-mail-a60.g.dreamhost.com (100-96-12-34.trex.outbound.svc.cluster.local [100.96.12.34]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 1E41C7E0BF8; Mon, 11 May 2020 01:00:28 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|scj@yaccman.com Received: from pdx1-sub0-mail-a60.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.8); Mon, 11 May 2020 01:00:29 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|scj@yaccman.com X-MailChannels-Auth-Id: dreamhost X-Troubled-Name: 39eb0b8340db8a3c_1589158829670_1414001761 X-MC-Loop-Signature: 1589158829670:3965138940 X-MC-Ingress-Time: 1589158829670 Received: from pdx1-sub0-mail-a60.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a60.g.dreamhost.com (Postfix) with ESMTP id D715BB1D31; Sun, 10 May 2020 18:00:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=yaccman.com; h= mime-version:date:from:to:cc:subject:in-reply-to:references :message-id:content-type:content-transfer-encoding; s= yaccman.com; bh=apJHEWUimNNrZw2C8BcHBp6UufU=; b=YaUoeJB4PR398AOl wBofob6QfQMresTmp6mk3XD9VdO4uc30j6G7kASJzi+DSBq00w82xwCjfwjcIQHD N9fE/SFhcrcbkFnR3VTRi5RBgy0cVreH/sPXMhk1xZdtUfeUa8RWZjeAxCqlDliW G2WnIPk9IogqWJd7rpVPMCBZU3o= Received: from webmail.dreamhost.com (ip-66-33-200-4.dreamhost.com [66.33.200.4]) (Authenticated sender: scj@yaccman.com) by pdx1-sub0-mail-a60.g.dreamhost.com (Postfix) with ESMTPA id 46697B1D30; Sun, 10 May 2020 18:00:27 -0700 (PDT) MIME-Version: 1.0 Date: Sun, 10 May 2020 18:00:27 -0700 X-DH-BACKEND: pdx1-sub0-mail-a60 From: scj@yaccman.com To: The Unix Heritage Society mailing list In-Reply-To: References: <202003231032.02NAWY4v022713@freefriends.org> User-Agent: DreamHost Webmail/1.4.1 Message-ID: <94b40dae0dba9d37b2de778b2d32e80a@yaccman.com> X-Sender: scj@yaccman.com Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeduhedrkeelgdegtdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpeggfffhvffujghffgfkgigtgfesthejjhdttdervdenucfhrhhomhepshgtjheshigrtggtmhgrnhdrtghomhenucggtffrrghtthgvrhhnpeehgeevkeeggefgveduvefgfeehjefftdehtdffhedtueevvdetfffgteeghedvteenucffohhmrghinhepsggvlhhlqdhlrggsshdrtghomhenucfkphepieeirdeffedrvddttddrgeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopeifvggsmhgrihhlrdgurhgvrghmhhhoshhtrdgtohhmpdhinhgvthepieeirdeffedrvddttddrgedprhgvthhurhhnqdhprghthhepshgtjheshigrtggtmhgrnhdrtghomhdpmhgrihhlfhhrohhmpehstghjseihrggttghmrghnrdgtohhmpdhnrhgtphhtthhopeifohhoughssehrohgsohhhrggtkhdrtggr Subject: Re: [TUHS] Question: stdio - Who invented and ... X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" I can't help with enum. It sticks in my mind that some other language had something similar but details are gone. However, void was more interesting. The original default return type for both B and C was int. As part of doing lint, I started wondering whether it would be good to have a message "function returns a value that is unused". In some cases, this would be a really useful message. That feature never made it into lint, but the idea persisted, and Dennis and I discussed void as a keyword to say "I'm not returning anything". It became useful as a message if you try to return a value from a function declared as void. But the real brilliance, to my mind, was the invention of void *. Larry Rosler and I were at a Usenix meeting together, and after a bit of alcoholic lubrication, I started complaining about trying to use malloc and also have strong typing. Larry suddenly said -- "we need a pointer that can't be indirected through, but can be assigned to any other pointer!" and after a minute or so he said "void *. We should call it void * ." My memory is that Dennis was instantly enthusiastic and it was in PCC a day or two later. Steve --- On 2020-03-23 19:02, Greg A. Woods wrote: > At Mon, 23 Mar 2020 09:46:52 -0400, Clem Cole wrote: > Subject: Re: [TUHS] Question: stdio - Who invented and ... >> >> I've forgotten when 'enum' and 'void' got added (which are not in the >> white >> book - Steve Johnson or Doug may remember). But, I think they were >> in the >> V7 compiler, and not Typesetter C. > > Since I was recently researching these myself: > > There was an extra page in the 7th Edition manual titled "Recent > Changes > to C" which described both structure assignment and the enumeration > type: > > https://www.bell-labs.com/usr/dmr/www/cchanges.pdf > > This paper appears in the UNIX System III "The C Programming Language > Reference Manual", but there's no mention of "void" in that manual. On > the other hand the UNIX System III PDP-11 compiler mentions "void" > (1980). > > I don't see any mention of "void" in 7th Edition sources. However the > version of 'awk' on the v7addenda tape from "12/2/80" has one "(void)" > cast. The only mention of "void" in dmr's "The Development of the C > Language" paper (from HOPL-II, 1993) seems to be in the > "Standardization" section where it's mentioned that it's not described > in the first edition of K&R. There's mention in the CSTR#102 paper > from > Sept. 1981 of the "void" type. The 2.9BSD code uses "void", but the > sources I have don't include a copy of the compiler. > > -- > Greg A. Woods > > Kelowna, BC +1 250 762-7675 RoboHack > Planix, Inc. Avoncote Farms