Subject: Re: [R7RS] Guile does not accept library name parts that are non-negative exact integers

From: Martin Becze <[email-masked]>
Date: Wed, 19 Aug 2020 05:16:57 -0500

Here is a patch that makes things usable for srfi's. (import (srfi
NNNN)) will work. It just remove the guard condition that was catching
the Integers. Does anyone know why the guard was there and if it is
really needed?

Martin

On 8/3/20 3:24 PM, Marc Nieper-Wißkirchen wrote:
> *bump*
> 
> Am Mi., 1. Apr. 2020 um 12:47 Uhr schrieb Marc Nieper-Wißkirchen
> <[email-masked]>:
>>
>> An R7RS library name consists of parts, where each part is either a symbol or a non-negative exact integer. Guile doesn't support the latter ones.
>>
>> This is unfortunate as the implementation of a SRFI NNN is usually delivered in form of a library named (srfi NNN).
>>
>> When this is corrected, for interoperability, it would be great if Guile offers the included SRFIs not only under the name (srfi srfi-NNN) but also under (srfi NNN).
>>
>> Thanks,
>>
>> Marc
>>
> 
> 
> 
> 
From d5518a32d4ed05fccd1e81c1596a77ae74d0136c Mon Sep 17 00:00:00 2001
From: Martin Becze <[email-masked]>
Date: Wed, 19 Aug 2020 05:00:54 -0500
Subject: [PATCH] Allow loading of libraries with the form (srfi NNN).

* module/ice-9/r6rs-libraries.scm: Removed guard condition that was
filtering out intergers.
---
 module/ice-9/r6rs-libraries.scm | 2 --
 1 file changed, 2 deletions(-)

diff --git a/module/ice-9/r6rs-libraries.scm b/module/ice-9/r6rs-libraries.scm
index c6ba6a496..0eee5fb7e 100644
--- a/module/ice-9/r6rs-libraries.scm
+++ b/module/ice-9/r6rs-libraries.scm
@@ -152,11 +152,9 @@
              (lp (cdr in) (cons (vector to replace? var) out))))))))
     
     ((name name* ... (version ...))
-     (and-map sym? #'(name name* ...))
      (resolve-r6rs-interface #'(library (name name* ... (version ...)))))
 
     ((name name* ...) 
-     (and-map sym? #'(name name* ...))
      (resolve-r6rs-interface #'(library (name name* ... ()))))))
 
 (define-syntax library
-- 
2.28.0