#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/make.scm,v 14.19 1989/10/26 06:46:35 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/make.scm,v 14.20 1990/02/08 00:05:26 cph Exp $
-Copyright (c) 1988, 1989 Massachusetts Institute of Technology
+Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
(RUNTIME 2D-PROPERTY)
(RUNTIME HASH)
(RUNTIME RANDOM-NUMBER)
+ (RUNTIME RECORD)
;; Microcode data structures
(RUNTIME HISTORY)
(RUNTIME LAMBDA-ABSTRACTION)
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/record.scm,v 1.3 1990/02/07 23:25:58 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/record.scm,v 1.4 1990/02/08 00:04:23 cph Exp $
Copyright (c) 1989, 1990 Massachusetts Institute of Technology
;;; Abstraction-Breaking Operations
-(define record-type?
+(define record-type?)
+
+(define (initialize-package!)
(let ((record-type (make-record-type "foo" '())))
(let ((size (vector-length record-type))
(tag (vector-ref record-type 0)))
(UPDATER-CONSTRUCTOR ,(vector-ref record-type 4))
(TYPE-NAME ,(vector-ref record-type 5))
(FIELD-NAMES ,(vector-ref record-type 6)))))
- (lambda (object)
- (and (vector? object)
- (= (vector-length object) size)
- (eq? (vector-ref object 0) tag))))))
+ (set! record-type?
+ (lambda (object)
+ (and (vector? object)
+ (= (vector-length object) size)
+ (eq? (vector-ref object 0) tag))))))
+ unspecific)
(define (guarantee-record-type object)
(if (not (record-type? object))
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/runtime.pkg,v 14.57 1990/01/15 21:27:38 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/runtime.pkg,v 14.58 1990/02/08 00:04:43 cph Exp $
Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology
randomize)
(initialization (initialize-package!)))
+(define-package (runtime record)
+ (files "record")
+ (parent ())
+ (export ()
+ guarantee-record
+ guarantee-record-type
+ make-record-type
+ record-accessor
+ record-constructor
+ record-predicate
+ record-type-descriptor
+ record-type-field-names
+ record-type-name
+ record-type?
+ record-updater
+ record?
+ set-record-type-unparser-method!)
+ (initialization (initialize-package!)))
+
(define-package (runtime reference-trap)
(files "urtrap")
(parent ())
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/make.scm,v 14.19 1989/10/26 06:46:35 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/make.scm,v 14.20 1990/02/08 00:05:26 cph Exp $
-Copyright (c) 1988, 1989 Massachusetts Institute of Technology
+Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
(RUNTIME 2D-PROPERTY)
(RUNTIME HASH)
(RUNTIME RANDOM-NUMBER)
+ (RUNTIME RECORD)
;; Microcode data structures
(RUNTIME HISTORY)
(RUNTIME LAMBDA-ABSTRACTION)
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/runtime.pkg,v 14.57 1990/01/15 21:27:38 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/runtime.pkg,v 14.58 1990/02/08 00:04:43 cph Exp $
Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology
randomize)
(initialization (initialize-package!)))
+(define-package (runtime record)
+ (files "record")
+ (parent ())
+ (export ()
+ guarantee-record
+ guarantee-record-type
+ make-record-type
+ record-accessor
+ record-constructor
+ record-predicate
+ record-type-descriptor
+ record-type-field-names
+ record-type-name
+ record-type?
+ record-updater
+ record?
+ set-record-type-unparser-method!)
+ (initialization (initialize-package!)))
+
(define-package (runtime reference-trap)
(files "urtrap")
(parent ())