#| -*-Scheme-*-
-$Id: usiexp.scm,v 1.1 1995/03/07 22:19:00 adams Exp $
+$Id: usiexp.scm,v 1.2 1995/04/29 13:18:05 adams Exp $
-Copyright (c) 1988-1993 Massachusetts Institute of Technology
+Copyright (c) 1988-1995 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
(disjunction-type-test-expansion
(append fixnum-ucode-types (list (cross-sf/ucode-type 'big-fixnum)
(cross-sf/ucode-type 'ratnum)))))
-
+\f
(define complex?-expansion
(disjunction-type-test-expansion
(append fixnum-ucode-types (list (cross-sf/ucode-type 'big-fixnum)
(cross-sf/ucode-type 'ratnum)
(cross-sf/ucode-type 'big-flonum)
(cross-sf/ucode-type 'recnum)))))
-\f
+
+ (define symbol?-expansion
+ (disjunction-type-test-expansion
+ (list (cross-sf/ucode-type 'interned-symbol)
+ (cross-sf/ucode-type 'uninterned-symbol))))
+
(define (make-disjunction expr clauses)
(let loop ((clauses clauses))
(if (null? (cdr clauses))
(seventh . ,seventh-expansion)
(sixth . ,sixth-expansion)
(string->symbol . ,string->symbol-expansion)
+ (symbol? . ,symbol?-expansion)
(third . ,third-expansion)
(values . ,values-expansion)
(vector? . ,vector?-expansion)