diff --git a/ice-9/boot-9.scm b/ice-9/boot-9.scm index 2407bfa25..41d4eb9f6 100644 --- a/ice-9/boot-9.scm +++ b/ice-9/boot-9.scm @@ -153,6 +153,17 @@ (if pair (symbol-pset! sym (delq! pair (symbol-pref sym)))))) +;;; {General Properties} + +;; This is a more modern interface to properties. It will replace all +;; other property-like things eventually. + +(define (make-object-property) + (let ((prop (primitive-make-property #f))) + (make-procedure-with-setter + (lambda (obj) (primitive-property-ref prop obj)) + (lambda (obj val) (primitive-property-set! prop obj val))))) + ;;; {Line and Delimited I/O}