[Scheme-reports] EVAL Andre van Tonder (23 Apr 2011 23:47 UTC)
[Scheme-reports] What happened to (UNQUOTE <expression> ...) Andre van Tonder (24 Apr 2011 00:04 UTC)
[Scheme-reports] Are generated toplevel definitions secret? Andre van Tonder (24 Apr 2011 00:15 UTC)
[Scheme-reports] COND, CASE, AND, ... macros are buggy Andre van Tonder (24 Apr 2011 00:24 UTC)
[Scheme-reports] Buggy definition of BEGIN Andre van Tonder (24 Apr 2011 00:33 UTC)
Re: [Scheme-reports] Buggy definition of BEGIN Jussi Piitulainen (24 Apr 2011 06:55 UTC)
[Scheme-reports] Restrictions on internal BEGIN? Andre van Tonder (24 Apr 2011 01:45 UTC)
Re: [Scheme-reports] Restrictions on internal BEGIN? Jussi Piitulainen (24 Apr 2011 07:20 UTC)
[Scheme-reports] Toplevel import scoping Andre van Tonder (24 Apr 2011 02:02 UTC)
Re: [Scheme-reports] Toplevel import scoping Alex Shinn (24 Apr 2011 02:44 UTC)
Re: [Scheme-reports] Toplevel import scoping Aaron W. Hsu (29 Apr 2011 17:11 UTC)
Re: [Scheme-reports] Toplevel import scoping Aaron W. Hsu (29 Apr 2011 17:10 UTC)
Re: [Scheme-reports] Are generated toplevel definitions secret? Andre van Tonder (24 Apr 2011 15:53 UTC)
(missing)
(missing)
(missing)
Re: Are generated toplevel definitions secret? Aaron W. Hsu (24 May 2011 18:51 UTC)
Re: [Scheme-reports] Are generated toplevel definitions secret? Sztefan Edwards (25 May 2011 14:32 UTC)
Re: Are generated toplevel definitions secret? Aaron W. Hsu (25 May 2011 20:03 UTC)
Re: [Scheme-reports] Are generated toplevel definitions secret? Perry E. Metzger (07 Nov 2011 18:40 UTC)
Re: [Scheme-reports] Are generated toplevel definitions secret? Perry E. Metzger (07 Nov 2011 18:45 UTC)
Re: [Scheme-reports] What happened to (UNQUOTE <expression> ...) Andre van Tonder (24 Apr 2011 03:10 UTC)
Re: [Scheme-reports] EVAL Alex Shinn (24 Apr 2011 02:10 UTC)
Re: [Scheme-reports] EVAL John Cowan (24 Apr 2011 06:56 UTC)

Re: [Scheme-reports] Restrictions on internal BEGIN? Jussi Piitulainen 24 Apr 2011 07:20 UTC

Andre van Tonder <andre@het.brown.edu> writes:

> The description on p. 19 suggests that only internal definitions can
> be in an internal BEGIN.  The formal syntax suggests that syntax
> definitions can also be in an internal BEGIN, but according to the
> formal syntax we canot mix syntax and ordinary definitions in an
> internal BEGIN.  So are all of the following illegal?
>
> (let ()
>    (begin 1))

That's the (begin <expression1> <expression2> ...) expression from
4.2.3., not the (begin <definition> ...) that can occur at the
beginning of a <body>.

But I notice that the descriptions of let, let*, ... in 4.2.2. say
just "<body> should be a sequence of one or more expressions" without
allowing for initial definitions at all. This contradicts 5.2.2.

> (let ()
>    (begin
>      (define x 1)
>      x))

That would be the splicing (begin <form> ...) top-level form from
5.1., only recognised on program top-level, so illegal.

> (let ()
>    (begin
>      (define-syntax foo .......)
>      (define x 1))
>     1)

I think this should be allowed. Checking 5.2.2. and 5.3. seems to
agree with it: syntax definitions are valid whereever definitions are
valid, and a (begin <definition> ...) can be initial to a <body>.

The formal syntax says otherwise and keeps syntax definitions separate
from definitions in <body>, <definition> and <syntax definition>.

_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports