Author: iratqq
Date: Fri Jul 10 06:25:25 2009
New Revision: 5976

Modified:
   trunk/scm/look.scm

Log:
* scm/look.scm (look-internal:qsort!):
  - Remove.
  (look-history-sort):
  - Use srfi-95.


Modified: trunk/scm/look.scm
==============================================================================
--- trunk/scm/look.scm  (original)
+++ trunk/scm/look.scm  Fri Jul 10 06:25:25 2009
@@ -28,6 +28,8 @@
 ;;; SUCH DAMAGE.
 ;;;;

+(require-extension (srfi 95))
+
 (require-custom "generic-key-custom.scm")
 (require-custom "look-custom.scm")

@@ -119,21 +121,6 @@
               l)))
 (define (look-internal:make-string n c)
   (apply string-append (map (lambda (x) (symbol->string c)) (iota n))))
-;; XXX: slow quick-sort
-(define (look-internal:qsort! data proc)
-  (let ((pivot 0)
-        (left '())
-        (right '()))
-    (if (< (length data) 2)
-        data
-        (begin
-          (set! pivot (car data))
-          (for-each (lambda (x)
-                      (if (proc x pivot)
-                          (set! left (cons x left ))
-                          (set! right (cons x right))))
-                    (cdr data))
- (append (look-internal:qsort! left proc) (cons pivot (look-internal:qsort! right proc)))))))
 (define (look-to-lower-string str)
   (apply string-append
          (map (lambda (c)
@@ -144,9 +131,7 @@

 (define (look-history-sort li lessf)
   ;;(map car li))
-  (map car (look-internal:qsort!
-            li
-            (lambda (x y) (lessf (cdr x) (cdr y))))))
+  (map car (sort! li (lambda (x y) (lessf (cdr x) (cdr y))))))

 (define (look-history-eow? x)
   (eq? #t (car x)))

Reply via email to