Subject: Re: [R7RS] cond-expand in define-library forms

From: Marc Nieper-Wißkirchen <[email-masked]>
Date: Mon, 3 Aug 2020 22:23:42 +0200

*bump*

Am Fr., 27. März 2020 um 15:17 Uhr schrieb Marc Nieper-Wißkirchen
<[email-masked]>:
>
> 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