From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: TODO list for Guile R7RS support Date: Mon, 13 Feb 2012 12:50:37 +0100 Message-ID: <878vk7lzoy.fsf@gnu.org> References: <87vcngvbif.fsf@netris.org> <87k43uhegn.fsf@gnu.org> <871upzpqdd.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1329133899 22523 80.91.229.3 (13 Feb 2012 11:51:39 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 13 Feb 2012 11:51:39 +0000 (UTC) Cc: guile-devel@gnu.org To: Alex Shinn Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Feb 13 12:51:20 2012 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RwuQo-0006Ha-ON for guile-devel@m.gmane.org; Mon, 13 Feb 2012 12:50:54 +0100 Original-Received: from localhost ([::1]:42417 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RwuQo-0003iO-AP for guile-devel@m.gmane.org; Mon, 13 Feb 2012 06:50:54 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:42383) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RwuQh-0003iJ-Hv for guile-devel@gnu.org; Mon, 13 Feb 2012 06:50:53 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RwuQb-0000Uf-Hq for guile-devel@gnu.org; Mon, 13 Feb 2012 06:50:47 -0500 Original-Received: from xanadu.aquilenet.fr ([88.191.123.111]:33577) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RwuQb-0000US-2q for guile-devel@gnu.org; Mon, 13 Feb 2012 06:50:41 -0500 Original-Received: from localhost (xanadu.aquilenet.fr [127.0.0.1]) by xanadu.aquilenet.fr (Postfix) with ESMTP id 55A2B6FA1; Mon, 13 Feb 2012 12:50:39 +0100 (CET) Original-Received: from xanadu.aquilenet.fr ([127.0.0.1]) by localhost (xanadu.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id I2h0KAsI5MN4; Mon, 13 Feb 2012 12:50:39 +0100 (CET) Original-Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by xanadu.aquilenet.fr (Postfix) with ESMTPSA id 7AE8E6FA0; Mon, 13 Feb 2012 12:50:38 +0100 (CET) X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 25 =?iso-8859-1?Q?Pluvi=F4se?= an 220 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu In-Reply-To: (Alex Shinn's message of "Mon, 13 Feb 2012 08:57:15 +0900") User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.93 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 88.191.123.111 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:13853 Archived-At: Hi, Alex Shinn skribis: > On Mon, Feb 13, 2012 at 8:46 AM, Ludovic Court=C3=A8s wrot= e: >> Alex Shinn skribis: >> >>> On Sat, Feb 11, 2012 at 12:53 AM, Ludovic Court=C3=A8s w= rote: >>>> >>>>> * R7RS feature identifiers: r7rs, exact-closed, ratios, exact-complex, >>>>> =C2=A0 ieee-float, full-unicode, windows, posix, unix, darwin, linux,= bsd, >>>>> =C2=A0 freebsd, solaris, i386, x86-64, ppc, sparc, jvm, clr, llvm, il= p32, >>>>> =C2=A0 lp64, ilp64, big-endian, little-endian, guile, guile-2, guile-= 2.0 >>>> >>>> I wonder how these are specified. =C2=A0Does a *-kfreebsd-gnu build ha= ve >>>> =E2=80=98freebsd=E2=80=99? =C2=A0And =E2=80=98bsd=E2=80=99? =C2=A0Do *= -gnu* have =E2=80=98linux=E2=80=99 defined, even when Linux >>>> isn=E2=80=99t used? =C2=A0Does Cygwin have =E2=80=98unix=E2=80=99? >>> >>> First note the list of feature identifiers is one of the >>> things most likely to be trimmed in the next draft. >> >> Good. =C2=A0:-) >> >>> There is no "gnu" feature proposed in R7RS, >> >> That would be for GNU, aka. GNU/Hurd. > > Wouldn't the feature be better named "hurd" then? Well, no, because the operating system is called =E2=80=9CGNU=E2=80=9D, or = =E2=80=9CGNU/Hurd=E2=80=9D (=E2=80=9Cthe Hurd=E2=80=9D designates the =E2=80=9Ckernel=E2=80=9D, not th= e OS.) > How can a system be both Hurd and Linux? For GNU/Linux, one could imagine adding a =E2=80=98linux-gnu=E2=80=99 symbo= l, for instance. Likewise for GNU/kFreeBSD. >>>> And above all: are people going to write #ifdef __linux__ish code when >>>> what they mean is #ifdef __GLIBC__ or even something different? >>> >>> This particular analogy doesn't apply. >> >> IMO it applies in the sense that, as with C code, people will check for >> =E2=80=98linux=E2=80=99 when what they really care about is what the lib= c provides, or >> whether the core utilities support --color, etc. > > Yes, but you're talking about C features, when we > only have to worry about Scheme features, so I need > more relevant examples to be able to give explanations > or take corrective action. These aren=E2=80=99t necessarily C features. I think one has to think about what these features would be used for. I=E2=80=99m quite confident that in many cases people would be checking for, say, =E2=80=98linux=E2=80=99, when what they=E2=80=99re interested in is a = particular feature of the GNU/Linux environment, not specifically the kernel; or they=E2=80=99d be checking for =E2=80=98unix=E2=80=99 when what they want to know is whether = to use slash or backslash to separate path components; etc. In general, I think fine-grain feature checks should be encouraged over coarse-grain identity checks, because it=E2=80=99s likely to be more robust. Thanks, Ludo=E2=80=99.