Ticket #506 (new enhancement)
Opened 12 years ago
Get and put
Reported by: | Sgeo | Owned by: | toups |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | toups/functional.plt | Keywords: | |
Cc: | Version: | (1 1) | |
Racket Version: |
Description
I think it would make sense to include get, put, and modify for the state monad, or perhaps call them state-get state-put state-modify. Could also make state-put and state-modify not return useful values, but not sure if there's a reason to do that.
(define state-get (lambda (state) (state-doublet state state))) (define (state-put new-state) (lambda (old-state) (state-doublet new-state new-state))) (define (state-modify modifier) (lambda (old-state) (define result (modifier old-state)) (state-doublet result result)))
Note: See
TracTickets for help on using
tickets.