-----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-----