This page is part of the web mail archives of SRFI 57 from before July 7th, 2015. The new archives for SRFI 57 contain all messages, not just those from before July 7th, 2015.
campbell@xxxxxxxxxxxxxxxxxxxxxxxxxxx wrote:
I am also *vehemently* opposed to the completely unrestricted operator of reflection RECORD->SEXP. Reflection should either be completely expurgated -- as I'd prefer --, or, if you intend to include any at all in this SRFI, highly controlled by whomever defined the record type.
I think `record->sexp' is actually pretty handy (for example for debugging purposes). I vehemently suggest to leave it in.
A smaller issue that I brought up on c.l.s seemed to have been left unnoticed: record type equivalence seems to be based on name, not on identity of the record type. I believe this could be fixed by defining an extra variable when invoking DEFINE-RECORD for a token identifying the newly defined record type, and comparing against this, instead of symbolic names, in BUILD-MAKER.
That leads me to another issue: What about separate compilation? The problem is here that I might have two source-files, using the same record type, compiled separately in two different instances of the compiler. How can I make sure that ; a.scm (define-record foo ...) ; b.scm (define-record foo ...) Refer to the same type? cheers, felix