#| -*-Scheme-*-
-$Id: usiexp.scm,v 4.16 1993/08/30 22:16:55 jacob Exp $
+$Id: usiexp.scm,v 4.17 1993/08/31 20:53:51 cph Exp $
Copyright (c) 1988-1993 Massachusetts Institute of Technology
(define flo:flonum?-expansion (type-test-expansion (ucode-type big-flonum)))
(define fix:fixnum?-expansion (type-test-expansion (ucode-type fixnum)))
-(define (exact-integer?-expansion expr operands if-expanded if-not-expanded block)
+(define (exact-integer?-expansion expr operands if-expanded if-not-expanded
+ block)
block
(if (and (pair? operands)
(null? (cdr operands)))
(make-type-test false (ucode-type big-fixnum) (car operands))))
(if-not-expanded)))
-(define (exact-rational?-expansion expr operands if-expanded if-not-expanded block)
+(define (exact-rational?-expansion expr operands if-expanded if-not-expanded
+ block)
block
(if (and (pair? operands)
(null? (cdr operands)))
(make-type-test false (ucode-type big-flonum) (car operands))
(make-type-test false (ucode-type recnum) (car operands))))
(if-not-expanded)))
-
+\f
(define (make-disjunction expr . clauses)
(let loop ((clauses clauses))
(if (null? (cdr clauses))
(ucode-primitive object-type?)
(list (constant/make false type) operand)))
-(define (string->symbol-expansion expr operands if-expanded if-not-expanded block)
+(define (string->symbol-expansion expr operands if-expanded if-not-expanded
+ block)
block
(if (and (pair? operands)
(string? (car operands))