chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-janitors] #1494: Indirect exports with (export (foo bar)) style


From: Chicken Trac
Subject: [Chicken-janitors] #1494: Indirect exports with (export (foo bar)) style are not working
Date: Thu, 02 Aug 2018 08:38:04 -0000

#1494: Indirect exports with (export (foo bar)) style are not working
----------------------+-----------------------------
 Reporter:  megane    |                 Owner:
     Type:  defect    |                Status:  new
 Priority:  major     |             Milestone:  5.1
Component:  compiler  |               Version:  5.0
 Keywords:  modules   |  Estimated difficulty:  hard
----------------------+-----------------------------
 {{{
 (module
  m
  () ;; ((foo bar)) works here
  (import scheme)
  (cond-expand
   (chicken-5 (import (chicken base) (chicken module)))
   (else (import chicken)))

  (define (bar) 1)

  (export (foo bar))

  (define-syntax foo
    (ir-macro-transformer
     (lambda (e inj cmp)
       '(bar)))))

 (import m)

 (print (foo))

 ;; $ csi -qbn macroexport.scm
 ;;
 ;; Warning: indirect export of unknown binding in module `m': bar
 ;;
 ;; Error: unbound variable: bar
 ;;
 ;;      Call history:
 ;;
 ;;      <syntax>          (lambda (e inj cmp) (quote (bar)))
 ;;      <syntax>          (##core#lambda (e inj cmp) (quote (bar)))
 ;;      <syntax>          (##core#begin (##core#quote (bar)))
 ;;      <syntax>          (##core#quote (bar))
 ;;      <eval>    (ir-macro-transformer (lambda (e inj cmp) (quote
 (bar))))
 ;;      <syntax>          (##core#undefined)
 ;;      <eval>    (##sys#load-library (##core#quote library))
 ;;      <eval>    (##sys#load-library (##core#quote library))
 ;;      <syntax>          (import m)
 ;;      <syntax>          (##core#begin (##core#undefined))
 ;;      <syntax>          (##core#undefined)
 ;;      <syntax>          (print (foo))
 ;;      <syntax>          (foo)
 ;;      <syntax>          (bar300)
 ;;      <eval>    (print (foo))
 ;;      <eval>    (bar300)      <--

 }}}

--
Ticket URL: <https://bugs.call-cc.org/ticket/1494>
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]