chicken-janitors
[Top][All Lists]
Advanced

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

Re: [Chicken-janitors] #700: requiring uncompiled extensions that use `u


From: Chicken Trac
Subject: Re: [Chicken-janitors] #700: requiring uncompiled extensions that use `use' fails
Date: Fri, 23 Sep 2011 12:29:34 -0000

#700: requiring uncompiled extensions that use `use' fails
-----------------------+----------------------------------------------------
  Reporter:  syn       |       Owner:  sjamaan
      Type:  defect    |      Status:  new    
  Priority:  minor     |   Milestone:  4.8.0  
 Component:  compiler  |     Version:  4.7.x  
Resolution:            |    Keywords:         
-----------------------+----------------------------------------------------
Description changed by syn:

Old description:

> The problem can be reproduced by having a file {{{foo.scm}}} containing
> something like this:
>
> {{{
> (module foo
>
> ()
> (import chicken scheme)
> (use extras)
>
> )
> }}}
>
> and a file {{{test.scm}}} containing just {{{(require-library foo)}}}.
> Now generate an import library through {{{csc -Jt foo.scm}}}. {{{csi -s
> test.scm}}} will work whereas {{{csc test.scm}}} and then running
> {{{./test}}} will result in:
>
> {{{
> Warning: reference to possibly unbound identifier `extras'
>
> Warning: reference to possibly unbound identifier `use'
>
> Error: module unresolved: foo
>
>         Call history:
>
>         ##sys#require
>         <syntax>          (module foo () (import chicken scheme) (use
> extras))
>         <syntax>          (##core#module foo () (import chicken scheme)
> (use extras))
>         <syntax>          (import chicken scheme)
>         <syntax>          (##core#undefined)
>         <syntax>          (use extras)  <--
> }}}
>
> Compiling {{{foo.import.scm}}} doesn't change this behavior. Compiling
> {{{foo.scm}}} to {{{foo.so}}} via {{{csc -s foo.scm}}} makes it work
> again. Looks like loading uncompiled extensions that use {{{use}}} (and
> possibly other special forms?) doesn't work from compiled programs. This
> has been tested with both 4.7.0
> andaa2d6b8247b13476fe609d1fd263238cc10a6a8e.

New description:

 The problem can be reproduced by having a file {{{foo.scm}}} containing
 something like this:

 {{{
 (module foo

 ()
 (import chicken scheme)
 (use extras)

 )
 }}}

 and a file {{{test.scm}}} containing just {{{(require-library foo)}}}. Now
 generate an import library through {{{csc -Jt foo.scm}}}. {{{csi -s
 test.scm}}} will work whereas {{{csc test.scm}}} and then running
 {{{./test}}} will result in:

 {{{
 Warning: reference to possibly unbound identifier `extras'

 Warning: reference to possibly unbound identifier `use'

 Error: module unresolved: foo

         Call history:

         ##sys#require
         <syntax>          (module foo () (import chicken scheme) (use
 extras))
         <syntax>          (##core#module foo () (import chicken scheme)
 (use extras))
         <syntax>          (import chicken scheme)
         <syntax>          (##core#undefined)
         <syntax>          (use extras)  <--
 }}}

 Compiling {{{foo.import.scm}}} doesn't change this behavior. Compiling
 {{{foo.scm}}} to {{{foo.so}}} via {{{csc -s foo.scm}}} makes it work
 again. Looks like loading uncompiled extensions that use {{{use}}} (and
 possibly other special forms?) doesn't work from compiled programs. This
 has been tested with both 4.7.0 and
 aa2d6b8247b13476fe609d1fd263238cc10a6a8e.

--

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