[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] [PATCH] Fix a regression in body canonicalization
From: |
Peter Bex |
Subject: |
Re: [Chicken-hackers] [PATCH] Fix a regression in body canonicalization |
Date: |
Thu, 27 Apr 2017 19:35:32 +0200 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Thu, Apr 27, 2017 at 12:55:12PM -0400, John Cowan wrote:
> On Thu, Apr 27, 2017 at 12:14 PM, Peter Bex <address@hidden> wrote:
> > Now, the spec disallows this (I think..),
>
> Yes, it does: begin-with-defines is allowed only at top level. It should
> be replaced by (let () (define ...) . body) instead. In Algol or C terms,
> begin is a compound statement, let is a block.
True, but "it is an error" to put definitions inside a begin
that's not at toplevel, so we're free to do whatever we want.
Allowing definitions inside begin is quite a useful extension of
the standard, especially when it comes to macros that introduce
multiple definitions; otherwise, those macros could only be used
at toplevel.
Cheers,
Peter
signature.asc
Description: Digital signature