The following valid R7RS library definition is not handled correctly by Guile:
(define-library (guile-test)
(export fold)
(cond-expand
((library (scheme list))
(import (scheme list)))
((library (srfi srfi-1))
(import (srfi srfi-1)))))
This is what I get:
$ guile --r7rs -L .
GNU Guile 3.0.1
...
> (import (guile-test))
While compiling _expression_:
no code for module (scheme list)
>
Thus, the cond-expand library declaration does not seem to be handled correctly. Other experiments with cond-expand also show strange behaviors:
(define-library (guile-test)
(export foo)
(cond-expand
(guile
(import (scheme base))))
(begin
(define foo 42)))
> (import (guile-test))
While compiling _expression_:
Syntax error:
unknown location: source _expression_ failed to match any pattern in form (((begin (define foo 42))))
--
Marc