;; Zellen mit RPC (define-record-type :cell (really-make-cell ref-proc set!-proc) cell? (ref-proc cell-ref-proc) (set!-proc cell-set!-proc)) (define (make-cell value) (let ((ref-rpc-op (make-rpc (lambda (state arg) (values state state)))) (set!-rpc-op (make-rpc (lambda (state arg) (values arg #f))))) (make-rpc-server value (list (rpc-op-entry-proc ref-rpc-op) (rpc-op-entry-proc set!-rpc-op))) (really-make-cell (rpc-op-call ref-rpc-op) (rpc-op-call set!-rpc-op)))) (define (cell-ref cell) ((cell-ref-proc cell) #f)) (define (cell-set! cell value) ((cell-set!-proc cell) value))