[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] #1306: The body of a syntax definer should be allowed
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] #1306: The body of a syntax definer should be allowed to be a macro call |
Date: |
Sun, 17 Jul 2016 00:37:48 -0000 |
#1306: The body of a syntax definer should be allowed to be a macro call
------------------------+---------------------
Reporter: johnwcowan | Owner:
Type: defect | Status: new
Priority: major | Milestone: someday
Component: unknown | Version: 4.11.0
Keywords: |
------------------------+---------------------
Currently Chicken doesn't support things like this:
{{{
(define (baz) 32)
(define-syntax foo
(syntax-rules ()
((foo) (syntax-rules () ((bar) (baz)))))))
(define-syntax quux (foo)) ; fails with "foo not defined"
}}}
On most Schemes that support macro varieties other than syntax-rules (and
therefore extend R5RS in this situation), macro calls are expanded in this
position, and `(quux)` evaluates to 32. However, on Chicken they aren't.
They should be.
--
Ticket URL: <http://bugs.call-cc.org/ticket/1306>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.
- [Chicken-janitors] #1306: The body of a syntax definer should be allowed to be a macro call,
Chicken Trac <=