[R6RS] Records and Modules

Michael Sperber sperber
Fri Jul 8 02:24:20 EDT 2005


"Manuel Serrano" <Manuel.Serrano at sophia.inria.fr> writes:

> Do you all consider that there is no problem here? Do you all consider
> that it's not a problem to force users to write code such as?
>
> (module id lang
>   (export rec-field1 rec-field1-set!
>           ...
>           rec-field100 rec-field100-set!
>           ...)
>
>   (define-record rec field1 ... field100 ...))
>
> Is there something I'm missing? Am I worrying for nothing?

I personally don't consider it a problem, and I think it would be a
bad idea to marry the namespace management to the implict naming
scheme of the record-defining form.  There are many open questions and
potential problems associated with it.  (What if any of the names
exported implicitly wasn't defined implicitly? ...)

All the reasons I've given for avoiding implicit naming in the first
place apply here in even more relevant form.  When I can't even grep
the module definitions for exported names, I'm (personally) in serious
trouble.

On the practical side:

- More often than not I *don't* want to export all the names defined
  by a record-definition form.
- In the ten years I've lived with listing all the exported names
  explicitly (after having named them explicitly), I've never felt
  this to be a problem---it also never came in as a reported problem
  from the Scheme 48 users, and we've sure seen many record
  definitions with many fields as well as bindings for Xlib.

-- 
Cheers =8-} Mike
Friede, V?lkerverst?ndigung und ?berhaupt blabla


More information about the R6RS mailing list