Remove unused memoize library
This commit is contained in:
parent
ecdde3f377
commit
335bef85fd
1 changed files with 0 additions and 31 deletions
|
@ -1,31 +0,0 @@
|
|||
;;; core/autoload/memoize.el -*- lexical-binding: t; -*-
|
||||
|
||||
;;;###autoload
|
||||
(defvar doom-memoized-table (make-hash-table :test 'equal :size 10)
|
||||
"A lookup table containing memoized functions. The keys are argument lists,
|
||||
and the value is the function's return value.")
|
||||
|
||||
;;;###autoload
|
||||
(defun doom-memoize (name)
|
||||
"Memoizes an existing function. NAME is a symbol."
|
||||
(let ((func (symbol-function name)))
|
||||
(put name 'function-documentation
|
||||
(concat (documentation func) " (memoized)"))
|
||||
(fset name
|
||||
`(lambda (&rest args)
|
||||
(let ((key (cons ',name args)))
|
||||
(or (gethash key doom-memoized-table)
|
||||
(puthash key (apply ',func args)
|
||||
doom-memoized-table)))))))
|
||||
|
||||
;;;###autoload
|
||||
(defmacro def-memoized! (name arglist &rest body)
|
||||
"Create a memoize'd function. NAME, ARGLIST, DOCSTRING and BODY
|
||||
have the same meaning as in `defun'."
|
||||
(declare (indent defun) (doc-string 3))
|
||||
`(,(if (bound-and-true-p byte-compile-current-file)
|
||||
'with-no-warnings
|
||||
'progn)
|
||||
(defun ,name ,arglist ,@body)
|
||||
(doom-memoize ',name)))
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue