#! /bin/sh #| Hey Emacs, this is -*-scheme-*- code! exec mzscheme -qr "$0" ${1+"$@"} |# (define-values (struct:two make-two two? two-ref two-set!) (make-struct-type 'two ;name-symbol #f ;super-struct-type 2 ;init-field-k 0 ;auto-field-k #f ;auto-v null ;prop-value-list #f ;inspector-or-false #f ;proc-spec '() ;immutable-k-list (lambda (thing ignored name) ;guard-proc (values 3 ignored)))) (define get-two (make-struct-field-accessor two-ref 0)) (display (get-two (make-two 'pass 'dummy))) (newline) (define-values (struct:one make-one one? one-ref one-set!) (make-struct-type 'one ;name-symbol #f ;super-struct-type 1 ;init-field-k 0 ;auto-field-k #f ;auto-v null ;prop-value-list #f ;inspector-or-false #f ;proc-spec '() ;immutable-k-list (lambda (thing name) ;guard-proc (values 3)))) (define get-one (make-struct-field-accessor one-ref 0)) (display (get-one (make-one 'pass))) (newline)