chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] r7rs improper redefinition of imported symbol


From: John J Foerch
Subject: Re: [Chicken-users] r7rs improper redefinition of imported symbol
Date: Mon, 19 Sep 2016 19:40:57 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

John Cowan <address@hidden> writes:

> On Mon, Sep 19, 2016 at 4:51 PM, John J Foerch <address@hidden>
> wrote:
>
>     I ran into a little problem when working with the r6rs-bytevectors
>     egg,
>     which provides an r7rs implementation of (r6rs bytevectors). The
>     bytevector-copy! procedure has a different call signature in r6 than
>     in
>     r7, and I found that as r6rs-bytevectors is currently written, its
>     bytevector-copy! always shadows or overrides the bytevector-copy! from
>     r7rs.
>
> The assumption is that because you've imported r6rs-bytevectors
> explicitly, the R6RS behavior is what you actually want. This is the only
> place where R6RS and R7RS differ in argument order that is not
> automatically detectable. Larceny provides a combined (r7r6) library that
> imports everything from both standards, except that the R6RS version of
> bytevector-copy! comes in as r6rs:bytevector-copy!.

But notice that in moduleb,

      (import (except (scheme base) bytevector-copy!))

The definition of bytevector-copy! in my moduleb is apparently changing
the value of scheme.base#bytevector-copy! from r7rs, but since that
binding was not imported, I think that this behavior is incorrect.

-- 
John Foerch






reply via email to

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