diff --git a/mes/module/srfi/srfi-9-struct.mes b/mes/module/srfi/srfi-9-struct.mes index 0d4f50da..eee64691 100644 --- a/mes/module/srfi/srfi-9-struct.mes +++ b/mes/module/srfi/srfi-9-struct.mes @@ -75,7 +75,7 @@ (display " ") (display field) (display ": ") - (display ((record-getter vtable field) o))) + (display ((record-accessor vtable field) o))) fields)) (display ">")) @@ -87,21 +87,21 @@ (define-macro (define-record-accessor type field) `(begin - (define ,(cadr field) ,(record-getter type (car field))) + (define ,(cadr field) ,(record-accessor type (car field))) (if ,(pair? (cddr field)) - (define ,(if (pair? (cddr field)) (caddr field)) ,(record-setter type (car field)))))) + (define ,(if (pair? (cddr field)) (caddr field)) ,(record-modifier type (car field)))))) -(define (record-getter type field) +(define (record-accessor type field) (let ((i (record-field-index type field))) (lambda (o . field?) - (if (not (eq? (record-type o) (record-type type))) (error "record getter: record expected" type o) + (if (not (eq? (record-type o) (record-type type))) (error "record accessor: record expected" type o) (if (pair? field?) field (struct-ref o i)))))) -(define (record-setter type field) +(define (record-modifier type field) (let ((i (record-field-index type field))) (lambda (o v) - (if (not (eq? (record-type o) (record-type type))) (error "record setter: record expected" type o) + (if (not (eq? (record-type o) (record-type type))) (error "record modifier: record expected" type o) (struct-set! o i v))))) (define (record-field-index type field) diff --git a/mes/module/srfi/srfi-9-vector.mes b/mes/module/srfi/srfi-9-vector.mes index 205c9d6a..3cfd1af5 100644 --- a/mes/module/srfi/srfi-9-vector.mes +++ b/mes/module/srfi/srfi-9-vector.mes @@ -72,21 +72,21 @@ (define-macro (define-record-accessor type field) `(begin - (define ,(cadr field) ,(record-getter type (car field))) + (define ,(cadr field) ,(record-accessor type (car field))) (if ,(pair? (cddr field)) - (define ,(if (pair? (cddr field)) (caddr field)) ,(record-setter type (car field)))))) + (define ,(if (pair? (cddr field)) (caddr field)) ,(record-modifier type (car field)))))) -(define (record-getter type field) +(define (record-accessor type field) (let ((i (record-field-index type field))) (lambda (o . field?) - (if (not (eq? (record-type o) type)) (error "record getter: record expected" type o) + (if (not (eq? (record-type o) type)) (error "record accessor: record expected" type o) (if (pair? field?) field (vector-ref o i)))))) -(define (record-setter type field) +(define (record-modifier type field) (let ((i (record-field-index type field))) (lambda (o v) - (if (not (eq? (record-type o) type)) (error "record setter: record expected" type o) + (if (not (eq? (record-type o) type)) (error "record modifier: record expected" type o) (vector-set! o i v))))) (define (record-field-index type field) diff --git a/mes/module/srfi/srfi-9/gnu-struct.mes b/mes/module/srfi/srfi-9/gnu-struct.mes index a8d97fb2..8729dc02 100644 --- a/mes/module/srfi/srfi-9/gnu-struct.mes +++ b/mes/module/srfi/srfi-9/gnu-struct.mes @@ -32,7 +32,7 @@ (set (getter ,o #t))) (define (field->value field) (if (eq? set field) ,value - ((record-getter type field) ,o))) + ((record-accessor type field) ,o))) (let* ((fields (record-field-names type)) (values (map field->value fields))) (apply (record-constructor type fields) values)))))