[racket] struct-copy with sub-types
On Wed, Mar 23, 2011 at 00:49, Nadeem Abdul Hamid <nadeem at acm.org> wrote:
> Is there anything like struct-copy that works to functionally update a
> field value in a structure, where the field happens to be defined in
> the super-type? In the example below, I want to "functionally update"
> a field of the sub structure inherited from the base definition...
>
>
> (struct base (a b) #:transparent)
> (struct sub base (c) #:transparent)
>
> (define S (sub 1 2 3))
>
> (struct-copy sub S [c 4]) ; works
> ; doesn't work: (struct-copy sub S [b 4])
> (struct-copy base S [b 4]) ; produces a base, not sub
No answers?
it looks to me that
(struct-copy sub S [b 4])
should work, but it doesn't. Isn't this a bug?
If it is not considered a bug, maybe the docs need a clarification?
Cheers
P.