[Top][All Lists]
[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.
- [Chicken-janitors] #816: hygiene problem using `map' with prefixed `scheme' import,
Chicken Trac <=