Hello!

On 2024-05-22 16: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)

I get no error here (Guile 3.0.9.164-e1690, compiled locally):

scheme@(guile-user)> (cond (else (define x 7) x))
$1 = 7
scheme@(guile-user)> (cond (#t (define x 7) x))
$2 = 7

A: (cond (#t (define x 7) x))
B: (cond (else (define x 7) x))

| system      | A     | B     |
|-------------|-------|-------|
| Bigloo      | 7     | 7     |
| Biwa        | 7     | 7     |
| Chez        | error | 7     |
| Chibi       | error | 7     |
| Chicken     | 7     | 7     |
| Cyclone     | 7     | 7     |
| Gambit      | error | error |
| Gauche      | 7     | 7     |
| Guile       | 7     | 7     |
| Kawa        | 7     | 7     |
| LIPS        | 7     | error |
| Loko        | error | error |
| MIT         | error | 7     |
| Racket      | 7     | 7     |
| Sagittarius | 7     | 7     |
| Scheme48    | error | 7     |
| Scheme 9    | error | 7     |
| SCM         | 7     | 7     |
| STklos      | 7     | 7     |
| Tinyscheme  | 7     | 7     |

* LIPS does not recognise the 'else' clause.

J.

Reply via email to