I submitted a patch that expanded definition context to more places (cond, 
case, when, unless etc). I dont know what happened to that. I submitted it 
while moving and promptly forgot about it after some discussion.

-- Linus Björnstam

On Wed, 22 May 2024, at 21:26, Damien Mattei wrote:
> scheme@(guile-user)> (cond (#t (define x 7) x))
> While compiling expression:
> Syntax error:
> unknown file:7:10: definition in expression context, where definitions are
> not allowed, in form (define x 7)
>
> but it is allowed in else clause:
> scheme@(guile-user)> (cond (else (define x 7) x))
> $4 = 7
>
> not really logic
>
> it is allowed in Kawa and Racket but they are not scheme references
> the R5RS and R7RS talk about 'clause' without more information
>
> is it normal for Guile to consider clause for cond to be an expression
> context and not a definition context?
>
> should not be better to consider definition context? that would allow more
> possibilities.

Reply via email to