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

Re: records all have same internal-name



On Sun, 19 Dec 2004, Per Bothner wrote:

I'm trying to get the srfi-57 implementation through the
Kawa implementation.  One issue is the invocation of
srfi-9:define-record-type always creates a primitive
record type named "internal-name".
...

It looks that way in the code, but if srfi-9:define-record-type binds internal-name to something using define as in the srfi-9 reference implementation, and if define is treated as a binding form by syntax-rules, internal-name will be a new hygienically generated identifier. Still, I have also found that the fact that this identifier does not look at all like the "external" type name can be a pain for printing, debugging, etc. The only solution I can think of is to modify the implementation of srfi-9:define-record-type to accept the external type name as an extra argument and then generate the internal name from that.

I am also getting a *lot* of srfi-9:define-record-types
created - 389 classes generated (at run-time rather than
compile-time) for the trivial 'point' example.
I'm hoping these are due to bugs in Kawa's macro
expansion:

This does sound like a bug.  Only one should be created.

Regards
Andre