[racket] Are there any functional structs in Racket
On Oct 20, 2010, at 11:16 PM, Nikita B. Zuev wrote:
> Thank you all for your replies. I somehow missed `struct-copy', this
> is exactly what I wanted. Bad thing I can't pass lambda to it like:
>
> (struct-copy person
> myperson
> (age (lambda (age) (+ age 1))))
>
struct-copy expects an expression, so the lambda isn't necessary. It doesn't require id's in the expression to be from the same structure (or to be part of a structure at all). If you are writing a lot of code that requires a special form like the above, then you can write a function or macro to do it. The following expression is just as short and easy (easier?) to read, anyway.
(struct-copy person myperson (age (+ 1 (person-age myperson))))
rac
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20101021/d204d580/attachment.html>