unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Mark H Weaver <mhw@netris.org>
To: ludo@gnu.org (Ludovic Courtès)
Cc: guile-devel@gnu.org
Subject: Re: [PATCH] Add ".guile.sls" and ".sls" to the default %load-extensions
Date: Mon, 05 Nov 2012 15:48:43 -0500	[thread overview]
Message-ID: <874nl3epxw.fsf@tines.lan> (raw)
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")

ludo@gnu.org (Ludovic Courtès) writes:
> Andreas Rottmann <a.rottmann@gmx.at> 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



  reply	other threads:[~2012-11-05 20:48 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-04  3:31 [PATCH] Add ".guile.sls" and ".sls" to the default %load-extensions Mark H Weaver
2012-11-04 16:10 ` Noah Lavine
2012-11-04 20:34 ` Ludovic Courtès
2012-11-04 22:27   ` Andreas Rottmann
2012-11-04 23:32     ` Ludovic Courtès
2012-11-05  0:17       ` Andreas Rottmann
2012-11-05 15:16         ` Ludovic Courtès
2012-11-05 20:48           ` Mark H Weaver [this message]
2012-11-05 21:15             ` Ludovic Courtès
2012-11-06  2:19               ` nalaginrut
2012-11-06  2:36                 ` Ian Price
2012-11-06  2:56               ` Ian Price
2012-11-06  5:18               ` Mark H Weaver
2012-11-07 20:28                 ` Ludovic Courtès
2012-11-08  2:37                   ` Alex Shinn
2012-11-08 22:41                   ` Andreas Rottmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874nl3epxw.fsf@tines.lan \
    --to=mhw@netris.org \
    --cc=guile-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).