(RUNTIME STREAM)
(RUNTIME 2D-PROPERTY)
(RUNTIME HASH-TABLE)
- ((RUNTIME TAGGING) INITIALIZE-UNPARSER!)
(RUNTIME PREDICATE-METADATA)
(RUNTIME PREDICATE-LATTICE)
+ (RUNTIME TAGGING)
(RUNTIME HASH)
(RUNTIME DYNAMIC)
(RUNTIME REGULAR-SEXPRESSION)
(parent (runtime))
(export ()
guarantee-tagged-object
- make-tagged-object
set-tagged-object-unparser-method!
+ tag-object
tagged-object-datum
- tagged-object-tag
+ tagged-object-predicate
tagged-object?)
+ (export (runtime)
+ tagged-object-tag)
(export (runtime unparser)
get-tagged-object-unparser-method)
- (initialization (initialize-unparser!)))
+ (initialization (initialize-package!)))
(define-package (runtime reference-trap)
(files "urtrap")
(define (tagged-object? object)
(fix:= (object-type object) tagged-object-type))
-(define-guarantee tagged-object "tagged object")
+(define (tag-object predicate datum)
+ (system-pair-cons tagged-object-type (predicate->tag predicate) datum))
-(define (make-tagged-object tag datum)
- (system-pair-cons tagged-object-type tag datum))
+(define (tagged-object-predicate object)
+ (tag->predicate (tagged-object-tag object)))
(define (tagged-object-tag object)
- (guarantee-tagged-object object 'tagged-object-tag)
+ (guarantee tagged-object? object 'tagged-object-tag)
(system-pair-car object))
(define (tagged-object-datum object)
- (guarantee-tagged-object object 'tagged-object-datum)
+ (guarantee tagged-object? object 'tagged-object-datum)
(system-pair-cdr object))
(define unparser-methods)
-(define (initialize-unparser!)
+(define (initialize-package!)
+ (register-predicate! tagged-object? 'tagged-object)
(set! unparser-methods (make-key-weak-eqv-hash-table))
unspecific)