Subject: bug#13509: closed (Re: bug#13509: wrong "definition in expression context" in R6RS mode)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 31 Jan 2013 06:12:02 +0000

Your bug report

#13509: wrong "definition in expression context" in R6RS mode

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
13509: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13509
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#13509: wrong "definition in expression context" in R6RS mode
From: Mark H Weaver <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Thu, 31 Jan 2013 01:10:07 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Marco Maggi <[email-masked]> 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

Subject: wrong "definition in expression context" in R6RS mode
From: Marco Maggi <[email-masked]>
To: [email-masked]
Date: Sun, 20 Jan 2013 20:37:03 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

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