Implement SYMBOL>?
authorJoe Marshall <jmarshall@alum.mit.edu>
Tue, 27 Jul 2010 19:33:58 +0000 (12:33 -0700)
committerJoe Marshall <jmarshall@alum.mit.edu>
Tue, 27 Jul 2010 19:33:58 +0000 (12:33 -0700)
src/runtime/runtime.pkg
src/runtime/symbol.scm

index 063d4ca6e7b582b0936dc172bfe8dcc866a10231..47a222cbab52b622f67d07484d3dcd68f5b2163b 100644 (file)
@@ -549,6 +549,7 @@ USA.
          symbol-hash-mod
          symbol-name
          symbol<?
+         symbol>?
          symbol?
          uninterned-symbol?
          utf8-string->symbol
index 5ed2a3a0c8358a8949013aac299ce3e57f116678..07759a22f71cca9cad81a4dde6e1f8680df53f0e 100644 (file)
@@ -129,9 +129,7 @@ USA.
 (define (symbol-hash-mod symbol modulus)
   (string-hash-mod (symbol-name symbol) modulus))
 
-(define (symbol<? x y)
-  (guarantee-symbol x 'SYMBOL<?)
-  (guarantee-symbol y 'SYMBOL<?)
+(define (%symbol<? x y)
   (let ((sx (system-pair-car x))
        (sy (system-pair-car y)))
     (let ((lx (string-length sx))
@@ -145,6 +143,16 @@ USA.
                (else
                 (fix:< (vector-8b-ref sx i) (vector-8b-ref sy i)))))))))
 
+(define (symbol<? x y)
+  (guarantee-symbol x 'SYMBOL<?)
+  (guarantee-symbol y 'SYMBOL<?)
+  (%symbol<? x y))
+
+(define (symbol>? x y)
+  (guarantee-symbol x 'SYMBOL>?)
+  (guarantee-symbol y 'SYMBOL>?)
+  (%symbol<? y x))
+
 (define (symbol->utf8-string symbol)
   (string-copy (symbol-name symbol)))