guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add ".guile.sls" and ".sls" to the default %load-extensions


From: Mark H Weaver
Subject: Re: [PATCH] Add ".guile.sls" and ".sls" to the default %load-extensions
Date: Mon, 05 Nov 2012 15:48:43 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux)

address@hidden (Ludovic Courtès) writes:
> Andreas Rottmann <address@hidden> 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 via email to

[Prev in Thread] Current Thread [Next in Thread]