[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-janitors] #911: , m still mixes up namespaces and renamings
From: |
Chicken Trac |
Subject: |
Re: [Chicken-janitors] #911: , m still mixes up namespaces and renamings |
Date: |
Tue, 04 Sep 2012 20:12:49 -0000 |
#911: ,m still mixes up namespaces and renamings
-------------------------+--------------------------------------------------
Reporter: ckeen | Owner:
Type: defect | Status: closed
Priority: minor | Milestone: 4.8.0
Component: core tools | Version: 4.8.x
Resolution: worksforme | Keywords: csi ,m command module system
-------------------------+--------------------------------------------------
Changes (by felix):
* status: new => closed
* resolution: => worksforme
Comment:
This is not a bug: in compiled modules, unexported identifiers do truly
not exist: they are hidden and effectively optimized away, stored in some
location only known to the compiler. Unexported bindings can be inlined
and removed completely in many cases. So switching into the module can not
make them magically appear again. This is different when using interpreted
code: here even hidden bindings still exist, even if hidden. If you think
this is an inconsistency between compiled and interpreted code, you are
right. But the compiler must be able to remove non-exported bindings, for
performance reasons.
--
Ticket URL: <http://bugs.call-cc.org/ticket/911#comment:2>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.