(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)) (begin (define (keyword? x) (symbol? x)))) (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