This is the mail archive of the
guile@cygnus.com
mailing list for the Guile project.
Re: records
Per Bothner writes:
> > now, I don't think you should be afraid about the future of the
> > procedures. even though SRFI-9 describes only the declarative syntax
> > for record type definitions, I'm sure that any real-world
> > implementation would provide the procedural interface as well.
>
> I would not make that assumption. Note the procedural interface was
> proposed well in time for R5RS, but *rejected*, because some people
> did not like it, or it did not map well into their model (mental or
> implementation) of how Scheme should work.
>
> Consider an implementation of Scheme that works by translating into C++.
> A declarative record syntax is easy to implement by translating Scheme
> record types into C++ classes (at least if define-record-type is
> restricted to top-level). The procedural syntax is much more
> difficult. (However, if you provide eval, you can presumably implement
> the procedural interface using the declarative interface + eval. But
> that is conceptually *changing* the program, rather than running it.)
yes, sorry. I'll revise my statement: any Guile implementation would
provide the procedural interface as well.
I'd say that *not* providing the procedural interface makes sense for
batch-compilers.
--mike