From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mark H Weaver Newsgroups: gmane.lisp.guile.devel Subject: Re: [PATCH] Add ".guile.sls" and ".sls" to the default %load-extensions Date: Mon, 05 Nov 2012 15:48:43 -0500 Message-ID: <874nl3epxw.fsf@tines.lan> References: <87fw4qgi1i.fsf@tines.lan> <87k3u16rak.fsf@gnu.org> <87k3u1knqn.fsf@delenn.lan> <87bofd6j24.fsf@gnu.org> <87k3u0kiny.fsf@delenn.lan> <87pq3s9j2b.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: ger.gmane.org 1352148550 29788 80.91.229.3 (5 Nov 2012 20:49:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 5 Nov 2012 20:49:10 +0000 (UTC) Cc: guile-devel@gnu.org To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Nov 05 21:49:19 2012 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TVTbh-000707-22 for guile-devel@m.gmane.org; Mon, 05 Nov 2012 21:49:17 +0100 Original-Received: from localhost ([::1]:40913 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TVTbY-0002Fj-AD for guile-devel@m.gmane.org; Mon, 05 Nov 2012 15:49:08 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:47250) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TVTbU-0002FJ-DO for guile-devel@gnu.org; Mon, 05 Nov 2012 15:49:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TVTbT-0000Uz-9F for guile-devel@gnu.org; Mon, 05 Nov 2012 15:49:04 -0500 Original-Received: from world.peace.net ([96.39.62.75]:54513) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TVTbS-0000TH-VN; Mon, 05 Nov 2012 15:49:03 -0500 Original-Received: from 209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com ([209.6.91.212] helo=tines.lan) by world.peace.net with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1TVTbK-0005Lt-3S; Mon, 05 Nov 2012 15:48:54 -0500 In-Reply-To: <87pq3s9j2b.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Mon, 05 Nov 2012 16:16:12 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 96.39.62.75 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:15095 Archived-At: ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Andreas Rottmann skribis: > >> Not a hindrance, just an annoyance, IMHO. Maybe a reasonable compromise >> would be to add an --r6rs switch, to add these extensions, as well as >> turn on any R6RS-compatiblity reader options, so the script being >> executed can use the R6RS syntax we already support, even when it is >> disabled by default (cf. my latest patch). On the other hand, these >> extensions are not part of R6RS and orthogonal to whether the script to >> be run uses R6RS syntax incompatible with the default reader options. > > Yes, but still, a single --r6rs switch seems like a good tradeoff. I don't think the command-line switch is a good solution. The problem is that even if the main program is not written in R6RS, and even if the main program does not use any R6RS libraries directly, this option might still be needed. Consider this thought experiment: My non-R6RS program uses a non-R6RS library in Guildhall, so I don't bother with the --r6rs option. Sometime later, some library (that I use only indirectly) gets upgraded, and the new version now uses an R6RS library. Suddenly my program stops working because I don't have the --r6rs option. In other words, this policy would force the top-level program to have knowledge about every module that is ever loaded in their program, directly or indirectly, now or in the future. Since it is not realistically possible for a program that uses guildhall packages to have such global knowledge, it would effectively force all users to add --r6rs. I see only two sane options: * Add these load extensions by default, to enable users and Guildhall repository maintainers to easily import R6RS libraries as-is. * Reject the dominant R6RS library naming convention, and force users and guildhall repository maintainers to rename the files to .scm and move *.guile.sls to *.scm. I can live with either of these options, but given the existence of guildhall, I see no good compromise position. IMO, we need to make a decision to either fully embrace or fully reject the R6RS library naming convention. Mark