/perme

PERsistent MEmoization for common lisp.

Primary LanguageCommon Lisp

PERME 0.0.0

What is this?

PERsistent MEmoisation.

This is a damn naive implementation, so do not ever trust, please.

Alternatives and differences.

Please tell me if exists.

Related libraries.

If you want in-memory memoization the libraries below may help you.

Usage

* (perme:memoise your-function-name)

* (perme:forget your-function-name)

From developer

Constraint about object serialization.

PERME depends on cl-store to store object. And cl-store says

not all yet

So the objects that cl-store can not serialize are can not memoized by perme too.

Constraint about argument keys.

PERME uses sxhash to make pathname that holds the memoized results.

CLHS says

(let ((r (make-random-state))) (= (sxhash r) (sxhash (make-random-state r)))) => implementation-dependent

So conflict may occur.

Product's goal

License

MIT

Developed with

Tested with

Installation