chicken-janitors
[Top][All Lists]
Advanced

[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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]