From fd04a00ee6bbb4ad373b175ea45e2d5ed0d0dcda Mon Sep 17 00:00:00 2001 From: Stephen Adams Date: Sat, 29 Apr 1995 13:08:29 +0000 Subject: [PATCH] Added expansion for SYMBOL? (similar to those for numeric predicates). --- v7/src/sf/usiexp.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/v7/src/sf/usiexp.scm b/v7/src/sf/usiexp.scm index ca3852f72..5e5a785b8 100644 --- a/v7/src/sf/usiexp.scm +++ b/v7/src/sf/usiexp.scm @@ -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))) (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 -- 2.25.1