let, let*
(define (make-point x y) (lambda (method) (cond ((eq? method 'get-x) x) ((eq? method 'get-y) y) (else 'invalid-method-error)))) ;; Equivalent (uses case for readability) (define (make-point x y) (lambda (method) (case method ((get-x) x) ((get-y) y) (else 'invalid-method-error)))) (define my-point (make-point 1 2)) => # (my-point 'get-x) => 1 (my-point 'get-y) => 2