chicken-janitors
[Top][All Lists]
Advanced

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

Re: [Chicken-janitors] #1083: cannot import procedure from one egg durin


From: Chicken Trac
Subject: Re: [Chicken-janitors] #1083: cannot import procedure from one egg during macro expansion in another egg.
Date: Sat, 28 Dec 2013 02:54:36 -0000

#1083: cannot import procedure from one egg during macro expansion in another 
egg.
--------------------------------+-------------------------------------------
  Reporter:  alanpost           |       Owner:         
      Type:  defect             |      Status:  new    
  Priority:  not urgent at all  |   Milestone:  someday
 Component:  compiler           |     Version:  4.8.x  
Resolution:                     |    Keywords:         
--------------------------------+-------------------------------------------

Comment(by evhan):

 I think the important difference in [http://paste.call-
 cc.org/paste?id=cc09e7728cd576870bc967c179a26385d6e4d34c#a3 the working
 paste] is actually just having {{{(import scheme)}}} before the {{{begin-
 for-syntax}}} form. As long as that's true, any other permutation of the
 imports works:

 {{{
 (import-for-syntax scheme)
 (import-for-syntax chicken)
 (import scheme)
 (begin-for-syntax (use m0))
 (import chicken)
 ;; ... whatever else ...
 }}}

 This is because the {{{scheme}}} namespace is the one that provides
 {{{begin-for-syntax}}}, so without it the {{{begin-for-syntax}}} isn't
 expanded and {{{m0}}} isn't loaded in {{{m1}}} at expansion time (making
 {{{f0}}} a run-of-the-mill unbound variable). I'd call this a gotcha
 rather than a bug, though maybe a warning for forms that are ''probably''
 meant to be syntax like this (such as the {{{{import,require,use}[-for-
 syntax]}}} family) would be helpful?

-- 
Ticket URL: <http://bugs.call-cc.org/ticket/1083#comment:3>
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]