--- Begin Message ---
Subject: |
wrong "definition in expression context" in R6RS mode |
Date: |
Sun, 20 Jan 2013 20:37:03 +0100 |
On my i686-pc-linux-gnu running:
$ guile --version
guile (GNU Guile) 2.1.0.1329-d7cb7
built from the head of the "master" branch, this program:
#!r6rs
(import (rnrs))
(define (alpha)
(define-syntax define-special
(syntax-rules ()
((_ ?who ?val)
(define ?who ?val))))
(define-special beta #t)
#f)
(alpha)
should succeed, but instead it fails with:
;;; compiling /home/marco/var/tmp/proof.sps
;;; WARNING: compilation of /home/marco/var/tmp/proof.sps failed:
;;; ERROR: Syntax error:
;;; /home/marco/var/tmp/proof.sps:12:2: definition in
;;; expression context, where definitions a re not allowed, in form (define
beta #t)
ice-9/boot-9.scm:718:27: In procedure map:
ice-9/boot-9.scm:718:27: Syntax error:
/home/marco/var/tmp/proof.sps:12:2: definition in expression context, where
definitions are not allowed, in form (define beta #t)
--
Marco Maggi
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#13509: wrong "definition in expression context" in R6RS mode |
Date: |
Thu, 31 Jan 2013 01:10:07 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) |
Marco Maggi <address@hidden> writes:
> #!r6rs
> (import (rnrs))
> (define (alpha)
> (define-syntax define-special
> (syntax-rules ()
> ((_ ?who ?val)
> (define ?who ?val))))
> (define-special beta #t)
> #f)
> (alpha)
>
> should succeed, but instead it fails with:
>
[...]
> ;;; /home/marco/var/tmp/proof.sps:12:2: definition in
> ;;; expression context, where definitions a re not allowed, in form
> (define beta #t)
Fixed in ceb7f9cc126f50e0cc8956b80ac5d111580b23c8
(which is now in stable-2.0 but not yet in master)
Thanks for the report!
Mark
--- End Message ---