r4981: Auto commit for Debian build
authorKevin M. Rosenberg <kevin@rosenberg.net>
Fri, 16 May 2003 12:55:15 +0000 (12:55 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Fri, 16 May 2003 12:55:15 +0000 (12:55 +0000)
functions.lisp
strings.lisp

index ffc8ac6cddbce58debbbc092dfac3c93dff06d4a..3bc09bcd8fe6d2bddb3356ab7ba73fca6bd995af 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: functions.lisp,v 1.1 2003/04/28 23:51:59 kevin Exp $
+;;;; $Id: functions.lisp,v 1.2 2003/05/16 12:55:15 kevin Exp $
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 
 (in-package :kmrcl)
 
 
 (in-package :kmrcl)
 
-(defun memo-proc (fn)
+(defun memo-proc (fn &optional (test 'equal))
   "Memoize results of call to fn, returns a closure with hash-table"
   "Memoize results of call to fn, returns a closure with hash-table"
-  (let ((cache (make-hash-table :test #'equal)))
+  (let ((cache (make-hash-table :test test)))
     #'(lambda (&rest args)
         (multiple-value-bind (val foundp) (gethash args cache)
           (if foundp
               val
     #'(lambda (&rest args)
         (multiple-value-bind (val foundp) (gethash args cache)
           (if foundp
               val
-              (setf (gethash args cache) 
-                    (apply fn args)))))))
+           (setf (gethash args cache) (apply fn args)))))))
 
 
-(defun memoize (fn-name)
-  (setf (fdefinition fn-name) (memo-proc (fdefinition fn-name))))
+(defun memoize (fn-name &optional (test 'equal))
+  (setf (fdefinition fn-name) (memo-proc (fdefinition fn-name) test)))
 
 (defmacro defun-memo (fn args &body body)
   "Define a memoized function"
 
 (defmacro defun-memo (fn args &body body)
   "Define a memoized function"
index 046b357db1739e5ba6c64bd152952a2f8d4dcec6..da39d48edd98a1b56cbd1153944cd0d7630a2d83 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: strings.lisp,v 1.31 2003/05/16 12:50:05 kevin Exp $
+;;;; $Id: strings.lisp,v 1.32 2003/05/16 12:51:11 kevin Exp $
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
          (i 0 (1+ i)))
        ((= i len) n-words)
       (declare (fixnum i))
          (i 0 (1+ i)))
        ((= i len) n-words)
       (declare (fixnum i))
-      (let ((ch (schar str i)))
-       (declare (character ch))
-       (if (alphanumericp ch)
-           (unless in-word
-             (incf n-words)
-             (setq in-word t))
-         (setq in-word nil))))))
+      (if (alphanumericp (schar str i))
+         (unless in-word
+           (incf n-words)
+           (setq in-word t))
+       (setq in-word nil)))))
 
 ;; From Larry Hunter with modifications
 (defun position-char (char string start max)
 
 ;; From Larry Hunter with modifications
 (defun position-char (char string start max)