(define-library (record-vector) (export record-vector make-rv record-vector? record-vector-ref rv-ref rv-ref* record-vector-set! rv-set! record-vector-attr? rv-attr? record-vector-update! rv-update! record-vector-clone rv-clone record-vector-length rv-len record-vector-like? rv-like?) (import (scheme base)) (cond-expand (guile (import (only (guile) keyword?) (srfi 17))) (gauche (import (only (gauche base) keyword?) (srfi 17))) (chicken (import (only (chicken keyword) keyword?) (only (chicken base) setter))) (gambit (import (only (gambit) keyword?))) (mit (import (scheme write)) (import (only (mit library) keyword?))) (else)) (include "rv.scm") (begin (cond-expand ((or gauche chicken) (set! (setter record-vector-ref) record-vector-set!)) (MIT-Scheme (display "MIT!") (newline)) (else))) ) ;; end of lib