[gambit-list] Bug

Marc Feeley feeley at iro.umontreal.ca
Fri May 11 06:59:32 EDT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On 10-May-07, at 11:59 PM, Bradley Lucier wrote:

> I presume that there's some macro somewhere that expands to a  
> definition of ##vector-copy.

Yes it is the macro define-prim-vector-procedures, which defines  
[string|vector|u8vector|s8vector|...]-[ref|set!|copy|append|...].

>   Perhaps the compiler should remark if (standard-bindings) or  
> (extended-bindings) are declared and a standard or gambit-specific  
> function is (re-)defined in a user file.

The compiler would have to keep a database of all the Gambit-specific  
functions in the runtime.  But this would tie the compiler to a  
specific runtime **implementation** which is not desirable.  Gambit  
is designed to support multiple runtime systems.

There is a simple rule you can follow to avoid this kind of problem.   
Never redefine or mutate a variable whose name starts with "##"  
because this is the Gambit internals namespace.  I guess the compiler  
could give a warning for this case.

Marc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)

iD8DBQFGREyU//V9Zc2T/v4RAogQAJ9XcgPeq1TQqvufbcB8KFLeahoCnQCgrcwa
LGnqMpzQ6ckAS4cgbPyyKPk=
=xery
-----END PGP SIGNATURE-----



More information about the Gambit-list mailing list