On Wed, May 28, 2008 at 1:58 AM, Jim Ursetto <[EMAIL PROTECTED]> wrote: > I also managed to port vector-lib.egg over. > > Minor issues encountered during the port: > > 1) Warnings aren't issued for unbound identifiers -- I spent a while > tracking down a weird error and it turns out I forgot to import > 'when' from chicken, along with numerous runtime failures when I > forgot to import procedures. Some of that is inexperience. But > the analogue of -check-imports would be nice. I guess once this is > more mature then consistent import library data would be usable for > this role.
It should indeed be possible to warn in this case. I'll think of something. > 2) Throw something like (display foobar), where foobar is unbound, > into your module and at runtime it will actually display #<unbound > value> without throwing an error. If a procedure is unbound, it > similarly complains about 'Error: call of non-procedure: #<unbound > value>' but this is easily tracked down using the call history. How can I reproduce this? I get a proper error message. > 3) Importing and then redefining an R5RS binding, such as > list->vector, inside a module results in 'Warning: exported > variable multiply defined' and also overwrites the toplevel binding > as soon as you link in the extension with (use). To avoid this > I did the following: > > (import (except scheme list->vector vector->list vector-fill!) > (prefix (only scheme list->vector vector->list vector-fill!) > %)) > > and then used %list->vector as the core version. This worked > fine. But I'm not sure if it's correct. > I'm not sure how to handle this. Importing bindings does not introduce module-local bindings on redefinition, as it does in many other module systems. I have added a note to the manual about this. cheers, felix _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users