Re: records all have same internal-name Per Bothner 20 Dec 2004 16:53 UTC

Andre van Tonder wrote:

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

SFI-9 only defines define-record-type at top-level.  The SRFI-9
reference implementation is not "declarative" - it maps a
compile-time-visible define-record-type to calls to a run-time
functions.  That does not how I want my implementation to be,
so instead of the referece implmentation I some simple macros
that translate define-record-type to the Kawa special form
define-simple-class.

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

I kind of assumed that, and hope that fixing this bug may improve
the performance situation as well.
--
	--Per Bothner
xxxxxx@bothner.com   http://per.bothner.com/