Hello, I'm looking for a way to use Raket's structs in a functional way. Example:
(define-struct person (name age)) (define p (make-person "Nikita" 25)) ;; in documentation I found only setters, that mutate struct: (person-set-age! p 26) ;; to make functional update I have to write (define p1 (make-person (person-name p) (add1 (person-age p)))) ;; I can write my own setters like this: (define (person-age-set p proc) (make-person (person-name p) (proc (person-age p)))) (define p2 (person-age-set p add1)) It would be great if functional setters could be generated by some macro. Does such macro exist? Or maybe I need to provide some keyword to struct definition? -- -- Regards, Nikita B. Zuev _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users