SRFI 100 が提案されています
SRFI 100: define-lambda-object http://srfi.schemers.org/srfi-100/srfi-100.html
コード例。ドキュメントには参考実装も載っているのですが、あえて実装を想像すると楽しいですね。SICP に似たようなのがあったし。
;; The `x' is a mutable required field. ;; The `y' is an immutable required field. (define-lambda-object ppoint (x) y) (define pp (make-ppoint 10 20)) (pp 'x) => 10 (pp 'y) => 20 (pp 'x 11) (pp 'x) => 11 (pp 'y 22) => error: immutable field y (ppoint? pp) => #t