chicken-users
[Top][All Lists]
Advanced

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

[Chicken-users] More problems using with srfi-40


From: Alejandro Forero Cuervo
Subject: [Chicken-users] More problems using with srfi-40
Date: Mon, 10 May 2004 23:20:18 -0500
User-agent: Mutt/1.5.5.1+cvs20040105i

I'm still having some problems using srfi-40.  This time they are
very different.  I got things to work by modifying the source for
the srfi-40 egg,  but as this is  the first time I  use eggs, I'm
not sure  whether this is  indeed a bug or  a simple error  on my
part.

I create a file:

> (require-for-syntax 'srfi-40)
> (stream-cons 1 stream-null)

I build it (with "csc test.scm" or "csc -R srfi-40 test.scm") and
run the resulting executable.  It complains:

> Error: unbound variable: stream-low-level-delay
>
> ##sys#require
> ##sys#require
> test.scm: 2    stream?
> test.scm: 2    not
> test.scm: 2    cons
> test.scm: 2    stream-low-level-delay

srfi-40.scm   from   the   egg,  which   gets   installed   as-is
in   my    registry   directory,   defines    stream-cons   using
stream-low-level-delay:

> (define-macro stream-cons
>   (lambda (obj strm)
>     (let ((strm-val (gensym)))
>       `(make-stream
>          (stream-low-level-delay
>            (let ((,strm-val ,strm))
>              (if (not (stream? ,strm-val))
>                  (stream-error "attempt to stream-cons onto non-stream")
>                  (cons ,obj ,strm-val))))))))

stream-low-level-delay  is  itself a  macro.   It  is defined  in
srfi-40/base.scm,  which  gets  compiled  and  installed  in  the
registry directori as srfi-40/base.so.

Doesn't this mean that  the definition for stream-low-level-delay
is unavailable to stream-cons?  stream-cons is defined in srfi-40
which, if intuition serves me right, is the file that gets loaded
when (require-for-syntax 'srfi-40) is executed.

A  similar   situation  occurs  with   stream-low-level-lazy  and
stream-delay.

I  moved  the  two macro  definitions  (stream-low-level-*)  from
srfi-40/base.scm to srfi-40.scm, updated  my registry and my test
did ran successfully.

Is this a bug on the implementation for srfi-40 or an error in my
part?  Am I missing something?

Thank you.

Alejo.
http://bachue.com/alejo

---=(  Comunidad de Usuarios de Software Libre en Colombia  )=---               
                                               
---=(  http://bachue.com/colibri )=--=( address@hidden  )=---                   
                                           

Attachment: signature.asc
Description: Digital signature


reply via email to

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