[R6RS] Records and Modules
dyb at cs.indiana.edu
dyb
Fri Jul 8 01:15:56 EDT 2005
> 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 ...))
In my records presentation at the Boston meeting, I proposed the following
syntax for dealing with this issue:
(co-export id co-id ...)
With this syntax, if id is exported, then so too are co-id .... If we
arrange for define-record to expand into its normal set of definitions
plus a co-export form, we can write:
(module id lang
(export rec)
(define-record rec field1 ... field100 ...))
I prefer this to making modules know directly about records. Of course,
co-export can be used explicitly or to build other abstractions.
I don't recall getting any feedback on this idea.
Kent
More information about the R6RS
mailing list