From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <908ffff67002a2daaa46c0f1cb701a99@9srv.net> To: 9fans@9fans.net Date: Mon, 7 Jul 2008 20:07:21 -0400 From: a@9srv.net In-Reply-To: <49106a6cc36f1a2d0a749737b674bcb4@terzarima.net> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] APE printf difference Topicbox-Message-UUID: de19681e-ead3-11e9-9d60-3106f5b1d025 This disparity comes up fairly often. As an example, some folks have done a lot of good (in the sense of being useful) work getting various GNU things working on Plan 9 as pre- requisites for things they want. It'd be nice if these were available as an "import package" for folks to use who just want some random linux program. The complete set of dependencies is obviously gigantic, ever- growing, and infeasable, but getting some useful subset is a different story. In fact, if you look through contrib (by which I mean fgb's very nice packaging system), we already have a nice subset. Some folks doing this work - and more watching - have argued that this should all be dumped into APE. I think this would be bad. I've used APE for exprt as much as import (although, honestly, I've gotten somewhat lazy recently and have started making p9p a pre-requisite), and being able to check code against a "least common denominator" is very helpful. One might argue that APE's current denominator is too low (some of the things we require defines for and treat as extensions have since become incorporated into ANSI and POSIX), but that's really an independent discussion. There remains a real difference between ANSI/POSIX standards and GNU (or whoever) random gunk. APE's export filter is very useful, and would be missed, but there's an equally valid import role that it isn't very good at serving, in modern contexts. I'd rather see that broken out into a distinct environment, say G(nu)APE. Of course, back on the question which prompted all this, there remains an interesting question: do we duplicate the library, or have it behave differently depending on where it's used? Adding stuff in for the import environment is relatively easy (in terms of organization and conflicts), but should our stdio library really need to know whether it's being used for import or export? Anthony