chicken-janitors
[Top][All Lists]
Advanced

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

[Chicken-janitors] #816: hygiene problem using `map' with prefixed `sche


From: Chicken Trac
Subject: [Chicken-janitors] #816: hygiene problem using `map' with prefixed `scheme' import
Date: Sun, 15 Apr 2012 15:49:34 -0000

#816: hygiene problem using `map' with prefixed `scheme' import
----------------------+-----------------------------------------------------
 Reporter:  syn       |       Owner:       
     Type:  defect    |      Status:  new  
 Priority:  minor     |   Milestone:  4.8.0
Component:  compiler  |     Version:  4.7.x
 Keywords:            |  
----------------------+-----------------------------------------------------
 The compiler seems to rewrite calls to {{{map}}} in an unhygienic fashion.
 This surfaces when importing the {{{scheme}}} module with a prefix into a
 fresh module. The interpreter handles it fine though.

 Example:

 {{{
 (module foo

 ()

 ;; the `quote' import is necessary due to another hygiene problem
 ;; I'm investigating right now
 (import (only scheme quote))
 (import (prefix scheme ~))

 (~map (~lambda (y) y) x)

 )
 }}}

 This leads to the following warnings by {{{csc}}} (tested with 4.7.0.3-st
 and current master):

 {{{
 Warning: reference to possibly unbound identifier `set!'
 Warning:    suggesting one of:
 Warning:    (import r5rs-null)
 Warning:    (import r4rs-null)
 Warning:    (import scheme)
 Warning:    (import r4rs)

 Warning: reference to possibly unbound identifier `cons'
 Warning:    suggesting one of:
 Warning:    (import scheme)
 Warning:    (import r4rs)

 Warning: reference to possibly unbound identifier `g14'

 Warning: reference to possibly unbound identifier `and'
 Warning:    suggesting one of:
 Warning:    (import r5rs-null)
 Warning:    (import r4rs-null)
 Warning:    (import scheme)
 Warning:    (import r4rs)

 Warning: reference to possibly unbound identifier `if'
 Warning:    suggesting one of:
 Warning:    (import r5rs-null)
 Warning:    (import r4rs-null)
 Warning:    (import scheme)
 Warning:    (import r4rs)

 Warning: reference to possibly unbound identifier `map-loop'

 Warning: reference to possibly unbound identifier `x'

 Warning: reference to possibly unbound identifier `g25'

 Warning: reference to possibly unbound identifier `g19'

 Warning: reference to possibly unbound identifier `g18'

 Warning: reference to possibly unbound identifier `g17'

 Warning: reference to possibly unbound identifier `let'
 Warning:    suggesting one of:
 Warning:    (import r5rs-null)
 Warning:    (import r4rs-null)
 Warning:    (import scheme)
 Warning:    (import r4rs)

 Error: module unresolved: foo

 }}}

-- 
Ticket URL: <http://bugs.call-cc.org/ticket/816>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.

reply via email to

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