Add cache library

This commit is contained in:
Akira Tempaku 2025-05-18 21:41:47 +09:00
commit 45603a27bf
Signed by: paku
GPG key ID: 5B4E8402BCC50607
3 changed files with 17 additions and 11 deletions
src/lib

15
src/lib/cache.lisp Normal file
View file

@ -0,0 +1,15 @@
(defpackage #:website/lib/cache
(:use #:cl)
(:import-from #:function-cache
#:defcached
#:clear-cache)
(:export #:memorize
#:clear-cache))
(in-package #:website/lib/cache)
(defmacro memorize (name)
(let ((origin (gensym)))
`(progn
(setf (fdefinition ',origin) (fdefinition ',name))
(defcached ,name (&rest args)
(apply #',origin args)))))