From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@cse.psu.edu Date: Tue, 1 Aug 2000 08:53:27 +0000 From: "Douglas A. Gwyn" Message-ID: <3985E318.10B7E8F8@arl.army.mil> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit References: <200007311515.LAA18248@cse.psu.edu> Subject: Re: [9fans] Installing the updates Topicbox-Message-UUID: f04295ca-eac8-11e9-9e20-41e7f4b1d025 rob pike wrote: > Seriously, we deliberately refused to buy into that multiple > inclusion dance, which is a hideous non-solution for the problem > of undefined dependency order on #includes. Why not use the > occasion to clean up the code so you only include once? One doesn't always have that option; for example, a header file might be part of somebody else's project on a machine far, far away. /* imported.h */ #include /* need FILE decl */ extern imp_read( FILE*, char *whatever ); Many developers take the approach that each interface header should be self-contained, so that the user of the header doesn't need to know anything about the details of the implementation of that header. Information hiding, you know. Since the C standard definitely requires idempotency for the standard headers (except ), at least the APE headers ought to conform, to ease the burden of importing non-native code.