[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] #1464: ir-macro-expander's compare + define-syntax +
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] #1464: ir-macro-expander's compare + define-syntax + modules don't mix |
Date: |
Tue, 22 May 2018 06:18:26 -0000 |
#1464: ir-macro-expander's compare + define-syntax + modules don't mix
----------------------+--------------------------------
Reporter: megane | Owner:
Type: defect | Status: new
Priority: major | Milestone: someday
Component: expander | Version: 5.0
Keywords: | Estimated difficulty:
----------------------+--------------------------------
This snippet is supposed to print "it is x", but doesn't if there's a
macro called `x` in the module.
{{{
module
m
(foo)
;; (import chicken scheme)
(import (chicken syntax) scheme)
;; (define-syntax x (ir-macro-transformer (lambda _ `(begin))))
;; (define (x) (begin)) ;; This is OK
(define-syntax foo
(ir-macro-transformer
(lambda (e inj cmp)
(apply
(lambda (a)
(if (cmp 'x a) "it is x" "fail"))
(cdr e))))))
(import m)
(print (foo x))
}}}
--
Ticket URL: <https://bugs.call-cc.org/ticket/1464>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Chicken-janitors] #1464: ir-macro-expander's compare + define-syntax + modules don't mix,
Chicken Trac <=