[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
A R7RS library name part bug?
From: |
無無 |
Subject: |
A R7RS library name part bug? |
Date: |
Mon, 13 Nov 2023 16:21:28 +0200 |
I have read that in R7RS a library name is defined as:
<library name> -> ( <library name part>+ )
<library name part> -> <identifier> | <uinteger 10>
<uinteger R> -> <digit R>
<digit 10> -> <digit>
<digit> -> 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
That means that a valid library name would be something like (a b 1),
where "1" is a valid library name part, but the following code
disagrees. running `guile --r7rs -L . a/good-main.scm` works while
`guile --r7rs -L . a/bad-main.scm` fails.
The files are as follows:
;;; ./a/b/1.scm
(define-library (a b 1)
(import (scheme base))
(export one)
(begin
(define one 'one)))
;;; ./a/b/d-1.scm
(define-library (a b d-1)
(import
(scheme base)
(scheme write)
)
(export
dd-1)
(begin
(define dd-1 'dd-1)))
;;; ./a/b/d.scm
(define-library (a b d)
(import
(scheme base)
(scheme write)
)
(export
dd)
(begin
(define dd 'dd)))
;;; ./a/good-main.scm
(define-library (a c)
(import
(scheme base)
(scheme write)
(a b d)
(a b d-1))
(begin
(display '(a c)) (newline)
(display dd) (newline)
(display dd-1) (newline)))
;;; ./a/bad-main.scm
(define-library (a c)
(import
(scheme base)
(scheme write)
(a b 1))
(begin
(display one) (newline)))
- A R7RS library name part bug?,
無無 <=