Added expansion for SYMBOL? (similar to those for numeric predicates).
authorStephen Adams <edu/mit/csail/zurich/adams>
Sat, 29 Apr 1995 13:08:29 +0000 (13:08 +0000)
committerStephen Adams <edu/mit/csail/zurich/adams>
Sat, 29 Apr 1995 13:08:29 +0000 (13:08 +0000)
v7/src/sf/usiexp.scm

index ca3852f720aaa7667405afbd17dbfbed42f06b0a..5e5a785b8b3591ed576fd7fbbc3d5d13bd78d2ea 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: usiexp.scm,v 4.33 1995/03/20 23:29:00 cph Exp $
+$Id: usiexp.scm,v 4.34 1995/04/29 13:08:29 adams Exp $
 
 Copyright (c) 1988-95 Massachusetts Institute of Technology
 
@@ -511,6 +511,18 @@ MIT in each case. |#
        (make-type-test false block (ucode-type big-flonum) (car operands))
        (make-type-test false block (ucode-type recnum) (car operands))))
       (if-not-expanded)))
+
+(define (symbol?-expansion expr operands if-expanded if-not-expanded block)
+  (if (and (pair? operands)
+          (null? (cdr operands)))
+      (if-expanded
+       (make-disjunction
+       expr
+       (make-type-test false block (ucode-type interned-symbol)
+                       (car operands))
+       (make-type-test false block (ucode-type uninterned-symbol)
+                       (car operands))))
+      (if-not-expanded)))
 \f
 (define (make-disjunction expr . clauses)
   (let loop ((clauses clauses))
@@ -635,6 +647,7 @@ MIT in each case. |#
     seventh
     sixth
     string->symbol
+    symbol?
     third
     values
     vector?
@@ -720,6 +733,7 @@ MIT in each case. |#
    seventh-expansion
    sixth-expansion
    string->symbol-expansion
+   symbol?-expansion
    third-expansion
    values-expansion
    vector?-expansion