bug-kawa
[Top][All Lists]
Advanced

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

[Bug-kawa] [bug #13601] define-syntax and private namespaces problem


From: Per Bothner
Subject: [Bug-kawa] [bug #13601] define-syntax and private namespaces problem
Date: Wed, 6 Jul 2005 04:05:50 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8b2) Gecko/20050527 Firefox/1.0+

Update of bug #13601 (project kawa):

                  Status:                    None => Fixed                  
             Assigned to:                    None => bothner                
             Open/Closed:                    Open => Closed                 

    _______________________________________________________

Follow-up Comment #1:

I've checked in a semi-fix.

The issue is that namespace-resolution is done at the same time as macro
expansion (and name resolution in general), not at read time.  Thus namespace
definitions need to be made available to the importing module.

This approach has some problems.  One is that we don't have object identity
between quoted literal as returned by read and the quoted value at run-time. 
This becomes a bigger issue if/when we are to support SRFI 38 (handling cycles
and shared structure).  Also, we'd like to change it so we implement Scheme
symbols using Symbols rather than Strings.  So we might want to consider do
namespace-resolution at read-type - like Common Lisp does.

So I implemenmted a quick kludge to include namespace definitions are private
symbols.  The kludge part is that we *always* create a field, even if the
namespace isn't used in a a macro.  We should reconsider/re-do this if/when we
make the changes mentioned in the previous paragraph.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?func=detailitem&item_id=13601>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

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