Re: records all have same internal-name Andre van Tonder 20 Dec 2004 14:54 UTC

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.