Advertisement
Guest User

Untitled

a guest
Nov 1st, 2018
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 0.71 KB | None | 0 0
  1. (define-syntax defrec                                              
  2.   (syntax-rules ()                                                
  3.     ((_ rec-name fields ...)                                      
  4.      (define (rec-name fields ...)                              
  5.        (case-lambda                                            
  6.          [(slot)
  7.           (case slot
  8.             [(fields) fields] ...
  9.             [else (error 'rec-name "Unrecognized field" slot)])]
  10.          [(slot value)                                        
  11.           (case slot                                          
  12.             [(fields) (set! fields value)] ...
  13.             [else (error 'rec-name "Unrecognized field" slot)])])))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement