projects
/
kmrcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
If reloading mop.lisp, delete-package kmr-mop prior to redefining
[kmrcl.git]
/
functions.lisp
diff --git
a/functions.lisp
b/functions.lisp
index ad262a4132366f620120b566e0925ba24122b731..e9b30741de3378117d0c0e3507881d290fd48321 100644
(file)
--- a/
functions.lisp
+++ b/
functions.lisp
@@
-7,8
+7,6
@@
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: functions.lisp,v 1.4 2003/05/17 07:38:54 kevin Exp $
-;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
;;;; KMRCL users are granted the rights to distribute and use this software
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
;;;; KMRCL users are granted the rights to distribute and use this software
@@
-25,7
+23,7
@@
(multiple-value-bind (val foundp) (gethash args cache)
(if foundp
val
(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)
(setf (fdefinition fn-name) (memo-proc (fdefinition fn-name))))
@@
-35,7
+33,7
@@
`(memoize (defun ,fn ,args . ,body)))
(defmacro _f (op place &rest args)
`(memoize (defun ,fn ,args . ,body)))
(defmacro _f (op place &rest args)
- (multiple-value-bind (vars forms var set access)
+ (multiple-value-bind (vars forms var set access)
(get-setf-expansion place)
`(let* (,@(mapcar #'list vars forms)
(,(car var) (,op ,access ,@args)))
(get-setf-expansion place)
`(let* (,@(mapcar #'list vars forms)
(,(car var) (,op ,access ,@args)))
@@
-46,7
+44,7
@@
(let ((fn1 (car (last fns)))
(fns (butlast fns)))
#'(lambda (&rest args)
(let ((fn1 (car (last fns)))
(fns (butlast fns)))
#'(lambda (&rest args)
- (reduce #'funcall fns
+ (reduce #'funcall fns
:from-end t
:initial-value (apply fn1 args))))
#'identity))
:from-end t
:initial-value (apply fn1 args))))
#'identity))