The function-cache Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The function-cache Reference Manual

This is the function-cache Reference Manual, version 1.0, generated automatically by Declt version 2.4 "Will Decker" on Wed Jun 20 11:48:30 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

function-cache

A common lisp library that provides extensible function result caching based on arguments (an expanded form of memoization).

Differences from fare-memoization

API

DEFCACHED

Creates a cached function named SYMBOL and a cache object named *{FN-NAME}-CACHE* SYMBOL can also be a list

(FN-NAME &rest cache-init-args &key CACHE-CLASS TABLE TIMEOUT SHARED-RESULTS?)

(defcached symbol (lambda-list) ...)
(defcached (symbol &key table cache-class timeout shared-results?) (lambda-list) ...)
EG:

(defcached (foo :timeout 10) (arg0)
  (sleep 3)
  arg0)
(foo 1) ;; waits 3s then returns 1
(foo 1) ;; returns 1 immediately
(foo 0) ;; waits 3s then returns 0
(foo 0) ;; returns 0 immediately
(foo 2) ;; waits 3s then returns 2
(foo 3) ;; waits 3s then returns 3
(foo 1) ;; has timedout, waits 3s then returns 1

Cache-objects and Names

Each cached function will have a cache object associated with it in special-variable *{FN-NAME}-CACHE*. You can find a cache object for a function name using find-function-cache-for-name if necessary. In most of the api, a function-name or a cache-object should be interchangable.

function-cache, thunk-cache, hash-table-function-cache, single-cell-function-cache

The basic types of function-caches currently provided.

get-cached-value, (setf get-cached-value)

One of the main expansion points for new cache subclasses. These place and retrieve values from whatever backing store the cache is using

Returns (values results cached-at) and stores the results of executing the underlying function.

purge-cache, purge-all-caches

A function that will remove expired entries from the cache, allowing them to be garbage collected

clear-cache, clear-all-caches

A function that will remove all cached results from the cache.

clear-cache accepts either a cache or the name of a cached function

clear-cache-partial-arguments

This function will go through the cached-results removing keys that partially match the to-match list.

This is used to clear the cache of shared? caches, but is also useful in other cases, where we need to clear cache for some subset of the arguments (eg: a cached funcall might wish to clear the cache of a specific funcalled function).

Matches arguments for those provided. Anything not provided is considered function-cache:dont-care. Anything specified as function-cache:dont-care is not used to determine if there is a match

uses partial-argument-match? to determine if the key should be removed

partial-argument-match?

Trys to see if the cache-key matches the to-match partial key passed in.

The basic implementation is to go through the cache-keys and match in order, skipping to-match component that is function-cache:dont-care

compute-cache-key, defcached-hashkey

Compute-cache-key, takes a cache and a list of arguments and turns those into a valid cache-key for the cache, by calling defcached-hashkey recursively through the argument tree.

Shared cache-backings will ensure the function name is the first token in this cache-key

cacher

Cacher is responsible for looking up memoized results in the cache, checking if they are expired/missing and running the body if so, caching and returning the result

*cache-names*

A list of all the special variables created by defcached. Used to ease clearing/purging all the caches, and for introspective purposes.

Authors

;; Copyright (c) 2013 Russ Tyndall , Acceleration.net http://www.acceleration.net
;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
;; met:
;;
;;  - Redistributions of source code must retain the above copyright
;;    notice, this list of conditions and the following disclaimer.
;;
;;  - Redistributions in binary form must reproduce the above copyright
;;    notice, this list of conditions and the following disclaimer in the
;;    documentation and/or other materials provided with the distribution.
;;
;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
;; A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT
;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
;; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
;; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 function-cache

Author

Acceleration.net <programmers@acceleration.net>

License

BSD

Description

A Simple Caching Layer for functions

Version

1.0

Dependencies
Source

function-cache.asd (file)

Component

src (module)


Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

Modules are listed depth-first from the system components tree.


Previous: , Up: Modules   [Contents][Index]

3.1 function-cache/src

Parent

function-cache (system)

Location

src/

Components

Next: , Previous: , Up: Top   [Contents][Index]

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 function-cache.asd

Location

function-cache.asd

Systems

function-cache (system)

Packages

function-cache-system


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.2 function-cache/src/packages.lisp

Parent

src (module)

Location

src/packages.lisp

Packages

function-cache


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.3 function-cache/src/protocol.lisp

Dependency

packages.lisp (file)

Parent

src (module)

Location

src/protocol.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.4 function-cache/src/capacity.lisp

Dependency

protocol.lisp (file)

Parent

src (module)

Location

src/capacity.lisp

Exported Definitions
Internal Definitions

number-to-remove (function)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.5 function-cache/src/metering.lisp

Dependency

capacity.lisp (file)

Parent

src (module)

Location

src/metering.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.6 function-cache/src/function-cache.lisp

Dependency

metering.lisp (file)

Parent

src (module)

Location

src/function-cache.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.7 function-cache/src/thunk.lisp

Dependency

function-cache.lisp (file)

Parent

src (module)

Location

src/thunk.lisp

Exported Definitions
Internal Definitions

key-cached? (method)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.8 function-cache/src/single-cell.lisp

Dependency

thunk.lisp (file)

Parent

src (module)

Location

src/single-cell.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.9 function-cache/src/hash-table.lisp

Dependency

single-cell.lisp (file)

Parent

src (module)

Location

src/hash-table.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.10 function-cache/src/ordered.lisp

Dependency

hash-table.lisp (file)

Parent

src (module)

Location

src/ordered.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

4.1.11 function-cache/src/cache.lisp

Dependency

ordered.lisp (file)

Parent

src (module)

Location

src/cache.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

5.1 function-cache-system

Source

function-cache.asd

Use List

Previous: , Up: Packages   [Contents][Index]

5.2 function-cache

A simple caching layer for functions

Source

packages.lisp (file)

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Special variables

Special Variable: *bypass-cache*

if non-nil, skip any kind of caching

Package

function-cache

Source

function-cache.lisp (file)

Special Variable: *cache-names*

A list of all function-caches

Package

function-cache

Source

cache.lisp (file)

Special Variable: *default-cache-class*

cache class to use if unspecified and thunk is not applicable

Package

function-cache

Source

cache.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Macros

Macro: defcached SYMBOL LAMBDA-LIST &body BODY

Creates a cached function named SYMBOL and a cache object named *{FN-NAME}-CACHE* SYMBOL can also be a list (FN-NAME &rest CACHE-INIT-ARGS
&key CACHE-CLASS TABLE TIMEOUT SHARED-RESULTS?)

TABLE - a shared cache-store to use, usually a hash-table, a function that returns a hashtable, or a symbol whose value is a hash-table
TIMEOUT - how long entries in the cache should be considered valid for CACHE-CLASS - controls what cache class will be instantiated (uses default-cache-class if not provided)
SHARED-RESULTS? - do we expect that we are sharing cache space with other things defaults to t if TABLE is provided
CACHE-INIT-ARGS - any other args that should be passed to the cache

Package

function-cache

Source

cache.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.3 Functions

Function: accesses CACHE

how many total accesses this cache has seen

Package

function-cache

Source

metering.lisp (file)

Function: clear-cache-all-function-caches &optional PACKAGE

Clear all the packages we know about. If there is a package mentioned, clear only those caches whose names are in that package

Package

function-cache

Source

cache.lisp (file)

Function: find-function-cache-for-name CACHE-NAME

given a name get the cache object associated with it

Package

function-cache

Source

cache.lisp (file)

Function: hit-ratio CACHE
Package

function-cache

Source

metering.lisp (file)

Function: purge-all-caches &optional PACKAGE

Call purge on all matching cache objects. If package is provided, purge only caches located within that package

Package

function-cache

Source

cache.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.4 Generic functions

Generic Function: at-cache-capacity? CACHE

is the cache full?

Package

function-cache

Source

protocol.lisp (file)

Methods
Method: at-cache-capacity? (CACHE cache-capacity-mixin)
Source

capacity.lisp (file)

Method: at-cache-capacity? CACHE
Generic Function: cached-results OBJECT
Generic Function: (setf cached-results) NEW-VALUE OBJECT
Package

function-cache

Methods
Method: cached-results (CACHE function-cache) around

Coerce the refernce to the results into something we can use

Source

function-cache.lisp (file)

Method: cached-results (FUNCTION-CACHE function-cache)

automatically generated reader method

Source

function-cache.lisp (file)

Method: (setf cached-results) NEW-VALUE (FUNCTION-CACHE function-cache)

automatically generated writer method

Source

function-cache.lisp (file)

Generic Function: cached-results-count CACHE

A function to compute the number of results that have been cached. DOES NOT CHECK to see if the entries are expired

Package

function-cache

Source

protocol.lisp (file)

Methods
Method: cached-results-count (CACHE hash-table-function-cache) &aux CACHED
Source

hash-table.lisp (file)

Method: cached-results-count (CACHE single-cell-function-cache)
Source

single-cell.lisp (file)

Method: cached-results-count (CACHE thunk-cache)
Source

thunk.lisp (file)

Method: cached-results-count (X null)
Method: cached-results-count (RES list)
Method: cached-results-count (RES hash-table)
Generic Function: capacity OBJECT
Generic Function: (setf capacity) NEW-VALUE OBJECT
Package

function-cache

Methods
Method: capacity (CACHE-CAPACITY-MIXIN cache-capacity-mixin)
Method: (setf capacity) NEW-VALUE (CACHE-CAPACITY-MIXIN cache-capacity-mixin)

The maximum number of objects cached, when we hit this we will reduce the number of cached entries by reduce-by-ratio

Source

capacity.lisp (file)

Generic Function: clear-cache CACHE &optional ARGS

Clears a given cache

Package

function-cache

Source

protocol.lisp (file)

Methods
Method: clear-cache (CACHE-NAME symbol) &optional ARGS
Source

cache.lisp (file)

Method: clear-cache (CACHE-NAME null) &optional ARGS
Source

cache.lisp (file)

Method: clear-cache (CACHE ordered-cache-mixin) &optional ARGS after
Source

ordered.lisp (file)

Method: clear-cache (CACHE hash-table-function-cache) &optional ARGS &aux NAME HASH SHARED-RESULTS?
Source

hash-table.lisp (file)

Method: clear-cache (CACHE function-cache) &optional ARGS
Source

function-cache.lisp (file)

Generic Function: clear-cache-partial-arguments CACHE TO-MATCH

This function will go through the cached-results removing
keys that partially match the to-match list.

This is used to clear the cache of shared? caches, but is also useful in other cases, where we need to clear cache for some subset of the arguments (eg: a cached funcall might wish to clear the cache of a specific funcalled function).

Matches arguments for those provided. Anything not provided is considered function-cache:dont-care. Anything specified as function-cache:dont-care is not used to determine if there is a match

Package

function-cache

Source

hash-table.lisp (file)

Methods
Method: clear-cache-partial-arguments (CACHE ordered-cache-mixin) TO-MATCH after
Source

ordered.lisp (file)

Method: clear-cache-partial-arguments (CACHE hash-table-function-cache) TO-MATCH
Generic Function: compute-cache-key CACHE THING

Used to assemble cache keys for function-cache objects

Package

function-cache

Source

function-cache.lisp (file)

Methods
Method: compute-cache-key (CACHE function-cache) THING
Generic Function: defcached-hashkey THING

Turns a list of arguments into a valid cache-key (usually a tree of primatives)

Package

function-cache

Source

protocol.lisp (file)

Methods
Method: defcached-hashkey THING
Generic Function: get-cached-value CACHE CACHE-KEY

returns the result-values-list and at what time it was cached

Package

function-cache

Source

protocol.lisp (file)

Writer

(setf get-cached-value) (generic function)

Methods
Method: get-cached-value (CACHE ordered-cache-mixin) CACHE-KEY around
Source

ordered.lisp (file)

Method: get-cached-value (CACHE hash-table-function-cache) CACHE-KEY
Source

hash-table.lisp (file)

Method: get-cached-value (CACHE single-cell-function-cache) CACHE-KEY
Source

single-cell.lisp (file)

Method: get-cached-value (CACHE thunk-cache) CACHE-KEY
Source

thunk.lisp (file)

Method: get-cached-value (CACHE metered-mixin) CACHE-KEY around
Source

metering.lisp (file)

Generic Function: (setf get-cached-value) NEW CACHE CACHE-KEY

Set the cached value for the cache key

Package

function-cache

Source

protocol.lisp (file)

Reader

get-cached-value (generic function)

Methods
Method: (setf get-cached-value) NEW (CACHE ordered-cache-mixin) CACHE-KEY around
Source

ordered.lisp (file)

Method: (setf get-cached-value) NEW (CACHE hash-table-function-cache) CACHE-KEY
Source

hash-table.lisp (file)

Method: (setf get-cached-value) NEW (CACHE single-cell-function-cache) CACHE-KEY
Source

single-cell.lisp (file)

Method: (setf get-cached-value) NEW (CACHE thunk-cache) CACHE-KEY
Source

thunk.lisp (file)

Method: (setf get-cached-value) NEW (CACHE cache-capacity-mixin) CACHE-KEY before
Source

capacity.lisp (file)

Method: (setf get-cached-value) NEW CACHE CACHE-KEY around
Generic Function: hits OBJECT
Generic Function: (setf hits) NEW-VALUE OBJECT
Package

function-cache

Methods
Method: hits (METERED-MIXIN metered-mixin)
Method: (setf hits) NEW-VALUE (METERED-MIXIN metered-mixin)

how many cache hits

Source

metering.lisp (file)

Generic Function: misses OBJECT
Generic Function: (setf misses) NEW-VALUE OBJECT
Package

function-cache

Methods
Method: misses (METERED-MIXIN metered-mixin)
Method: (setf misses) NEW-VALUE (METERED-MIXIN metered-mixin)

how many cache hits

Source

metering.lisp (file)

Generic Function: partial-argument-match? CACHE CACHED-KEY TO-MATCH &key TEST

Trys to see if the cache-key matches the to-match partial
key passed in.

The basic implementation is to go through the cache-keys and match in order, skipping to-match component that is function-cache:dont-care

Package

function-cache

Source

hash-table.lisp (file)

Methods
Method: partial-argument-match? (CACHE hash-table-function-cache) CACHED-KEY TO-MATCH &key TEST
Generic Function: purge-cache CACHE

A function that will remove expired entries from the cache, allowing them to be garbage collected

Package

function-cache

Source

protocol.lisp (file)

Methods
Method: purge-cache (CACHE-NAME symbol)
Source

cache.lisp (file)

Method: purge-cache (CACHE ordered-cache-mixin) after
Source

ordered.lisp (file)

Method: purge-cache (CACHE hash-table-function-cache) &aux HASH
Source

hash-table.lisp (file)

Method: purge-cache (CACHE single-cell-function-cache)
Source

single-cell.lisp (file)

Method: purge-cache (CACHE thunk-cache)
Source

thunk.lisp (file)

Method: purge-cache (CACHE function-cache) around
Source

function-cache.lisp (file)

Generic Function: reduce-by-ratio OBJECT
Generic Function: (setf reduce-by-ratio) NEW-VALUE OBJECT
Package

function-cache

Methods
Method: reduce-by-ratio (CACHE-CAPACITY-MIXIN cache-capacity-mixin)
Method: (setf reduce-by-ratio) NEW-VALUE (CACHE-CAPACITY-MIXIN cache-capacity-mixin)

Remove the oldest reduce-by-ratio entries (eg: .2 or 20%)

Source

capacity.lisp (file)

Generic Function: reduce-cached-set CACHE N

evict n items from the cache

Package

function-cache

Source

protocol.lisp (file)

Methods
Method: reduce-cached-set (CACHE mru-cache) N
Source

ordered.lisp (file)

Method: reduce-cached-set (CACHE lru-cache) N
Source

ordered.lisp (file)

Method: reduce-cached-set (CACHE hash-table-function-cache) N
Source

hash-table.lisp (file)

Generic Function: reset-counters CACHE

When we clear the full cache, reset the counters

Package

function-cache

Source

metering.lisp (file)

Methods
Method: reset-counters (CACHE symbol)
Method: reset-counters (CACHE metered-mixin)
Generic Function: timeout OBJECT
Generic Function: (setf timeout) NEW-VALUE OBJECT
Package

function-cache

Methods
Method: timeout (FUNCTION-CACHE function-cache)

automatically generated reader method

Source

function-cache.lisp (file)

Method: (setf timeout) NEW-VALUE (FUNCTION-CACHE function-cache)

automatically generated writer method

Source

function-cache.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

6.1.5 Classes

Class: cache-capacity-mixin ()
Package

function-cache

Source

capacity.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: capacity

The maximum number of objects cached, when we hit this we will reduce the number of cached entries by reduce-by-ratio

Initargs

:capacity

Readers

capacity (generic function)

Writers

(setf capacity) (generic function)

Slot: reduce-by-ratio

Remove the oldest reduce-by-ratio entries (eg: .2 or 20%)

Initargs

:reduce-by-ratio

Initform

0.2

Readers

reduce-by-ratio (generic function)

Writers

(setf reduce-by-ratio) (generic function)

Class: hash-table-function-cache ()

a function cache that uses a hash-table to store results

Package

function-cache

Source

hash-table.lisp (file)

Direct superclasses

function-cache (class)

Direct subclasses
Direct methods
Direct slots
Slot: hash-init-args
Initargs

:hash-init-args

Initform

function-cache::*default-hash-init-args*

Readers

hash-init-args (generic function)

Writers

(setf hash-init-args) (generic function)

Class: hash-table-function-cache-with-capacity ()

a function cache that uses a hash-table to store results with a max capacity

Package

function-cache

Source

hash-table.lisp (file)

Direct superclasses
Class: lru-cache ()

LRU cache backed by a hash-table.
Maintains capacity by removing least recently used cached values.

Package

function-cache

Source

ordered.lisp (file)

Direct superclasses
Direct methods

reduce-cached-set (method)

Class: metered-mixin ()

adds some recording for caches hits/misses

Package

function-cache

Source

metering.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

metered-hash-table-cache (class)

Direct methods
Direct slots
Slot: hits

how many cache hits

Initform

0

Readers

hits (generic function)

Writers

(setf hits) (generic function)

Slot: misses

how many cache hits

Initform

0

Readers

misses (generic function)

Writers

(setf misses) (generic function)

Class: mru-cache ()

MRU cache backed by a hash-table.
Maintains capacity by removing the most recently used cached value.s

Package

function-cache

Source

ordered.lisp (file)

Direct superclasses
Direct methods

reduce-cached-set (method)

Class: single-cell-function-cache ()

a cache that stores only the most recent result of running the body

Package

function-cache

Source

single-cell.lisp (file)

Direct superclasses

function-cache (class)

Direct methods
Direct slots
Slot: test
Initargs

:test

Initform

(function equal)

Readers

test (generic function)

Writers

(setf test) (generic function)

Class: thunk-cache ()

a cache optimized for functions of no arguments (uses a cons for caching)

Package

function-cache

Source

thunk.lisp (file)

Direct superclasses

function-cache (class)

Direct methods

Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Special variables

Special Variable: *cache*
Package

function-cache

Source

protocol.lisp (file)

Special Variable: *cached-at*
Package

function-cache

Source

protocol.lisp (file)

Special Variable: *default-hash-init-args*
Package

function-cache

Source

hash-table.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Functions

Function: %add-cached-node CACHE NODE

Add a node to the last position of the cache.

Package

function-cache

Source

ordered.lisp (file)

Function: %call-list-for-lambda-list LAMBDA-LIST

Turns a lambda list into a list that can be applied to functions of that lambda list

Package

function-cache

Source

cache.lisp (file)

Function: %ensure-unquoted THING
Package

function-cache

Source

cache.lisp (file)

Function: %insert-into-cache CACHE ARGS &key CACHE-KEY

Simple helper to run the body, store the results in the cache and then return them

Package

function-cache

Source

function-cache.lisp (file)

Function: %move-cached-node CACHE NODE

Move a node to the end of the cache, should be called when a cached result has been used.

Package

function-cache

Source

ordered.lisp (file)

Function: %remove-cached-node CACHE NODE

Remove a node from the cache.

Package

function-cache

Source

ordered.lisp (file)

Function: cnode CACHE-KEY RESULT &optional OLDER NEWER
Package

function-cache

Source

ordered.lisp (file)

Function: cnode-cache-key INSTANCE
Function: (setf cnode-cache-key) VALUE INSTANCE
Package

function-cache

Source

ordered.lisp (file)

Function: cnode-newer INSTANCE
Function: (setf cnode-newer) VALUE INSTANCE
Package

function-cache

Source

ordered.lisp (file)

Function: cnode-older INSTANCE
Function: (setf cnode-older) VALUE INSTANCE
Package

function-cache

Source

ordered.lisp (file)

Function: cnode-p OBJECT
Package

function-cache

Source

ordered.lisp (file)

Function: cnode-result INSTANCE
Function: (setf cnode-result) VALUE INSTANCE
Package

function-cache

Source

ordered.lisp (file)

Function: copy-cnode INSTANCE
Package

function-cache

Source

ordered.lisp (file)

Function: do-caches FN &key PACKAGE

Iterate through caches calling fn on each matching cache

Package

function-cache

Source

cache.lisp (file)

Function: get-cached-object-stats CACHE &aux TYPE-COUNTS CYCLES RES
Package

function-cache

Source

metering.lisp (file)

Function: incf-hash KEY HT &optional DELTA DEFAULT
Package

function-cache

Source

metering.lisp (file)

Function: number-to-remove CACHE
Package

function-cache

Source

capacity.lisp (file)

Function: sync-ordered-cache CACHE

Remove any nodes from the dlist that are no longer in the actual cache.

Package

function-cache

Source

ordered.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.3 Generic functions

Generic Function: body-fn OBJECT
Generic Function: (setf body-fn) NEW-VALUE OBJECT
Package

function-cache

Methods
Method: body-fn (FUNCTION-CACHE function-cache)

automatically generated reader method

Source

function-cache.lisp (file)

Method: (setf body-fn) NEW-VALUE (FUNCTION-CACHE function-cache)

automatically generated writer method

Source

function-cache.lisp (file)

Generic Function: cache CONDITION
Generic Function: (setf cache) NEW-VALUE CONDITION
Package

function-cache

Methods
Method: cache (CONDITION cache-value-condition)
Method: (setf cache) NEW-VALUE (CONDITION cache-value-condition)
Source

protocol.lisp (file)

Generic Function: cached-at CONDITION
Generic Function: (setf cached-at) NEW-VALUE CONDITION
Package

function-cache

Methods
Method: cached-at (CONDITION cache-value-condition)
Method: (setf cached-at) NEW-VALUE (CONDITION cache-value-condition)
Source

protocol.lisp (file)

Generic Function: cacher CACHE ARGS

A function that takes a cache object and an arg list
and either runs the computation and fills the caches or retrieves the cached value

Package

function-cache

Source

function-cache.lisp (file)

Methods
Method: cacher (CACHE function-cache) ARGS &aux CACHE-KEY
Generic Function: default-cache-class SYMBOL LAMBDA-LIST

A function that takes symbol lambda-list and perhaps a cache-class

Package

function-cache

Source

cache.lisp (file)

Methods
Method: default-cache-class SYMBOL LAMBDA-LIST
Generic Function: expired? CACHE RESULT-TIMEOUT

Determines if the cache entry is expired

Package

function-cache

Source

protocol.lisp (file)

Methods
Method: expired? CACHE RESULT-TIMEOUT
Generic Function: hash-init-args OBJECT
Generic Function: (setf hash-init-args) NEW-VALUE OBJECT
Package

function-cache

Methods
Method: hash-init-args (HASH-TABLE-FUNCTION-CACHE hash-table-function-cache)

automatically generated reader method

Source

hash-table.lisp (file)

Method: (setf hash-init-args) NEW-VALUE (HASH-TABLE-FUNCTION-CACHE hash-table-function-cache)

automatically generated writer method

Source

hash-table.lisp (file)

Generic Function: key CONDITION
Generic Function: (setf key) NEW-VALUE CONDITION
Package

function-cache

Methods
Method: key (CONDITION cache-value-condition)
Method: (setf key) NEW-VALUE (CONDITION cache-value-condition)
Source

protocol.lisp (file)

Generic Function: key-cached? CACHE CACHE-KEY

Check if the cache contains a cached value for the key.
This should not have any side affects, even if GET-CACHED-VALUE does (for instance in an LRU cache). Return non-nil if the cache contains an entry with the specified key.

Note that this returns non-nil if the key is cached but expired.

Package

function-cache

Source

protocol.lisp (file)

Methods
Method: key-cached? (CACHE hash-table-function-cache) CACHE-KEY
Source

hash-table.lisp (file)

Method: key-cached? (CACHE single-cell-function-cache) CACHE-KEY
Source

single-cell.lisp (file)

Method: key-cached? (CACHE thunk-cache) CACHE-KEY
Source

thunk.lisp (file)

Method: key-cached? CACHE KEY
Generic Function: lambda-list OBJECT
Generic Function: (setf lambda-list) NEW-VALUE OBJECT
Package

function-cache

Methods
Method: lambda-list (FUNCTION-CACHE function-cache)

automatically generated reader method

Source

function-cache.lisp (file)

Method: (setf lambda-list) NEW-VALUE (FUNCTION-CACHE function-cache)

automatically generated writer method

Source

function-cache.lisp (file)

Generic Function: make-cache-backing CACHE

make a new backing storage for the cache

Package

function-cache

Source

protocol.lisp (file)

Methods
Method: make-cache-backing (CACHE hash-table-function-cache)
Source

hash-table.lisp (file)

Method: make-cache-backing (CACHE single-cell-function-cache)
Source

single-cell.lisp (file)

Method: make-cache-backing CACHE
Generic Function: name OBJECT
Generic Function: (setf name) NEW-VALUE OBJECT
Package

function-cache

Methods
Method: name (FUNCTION-CACHE function-cache)

automatically generated reader method

Source

function-cache.lisp (file)

Method: (setf name) NEW-VALUE (FUNCTION-CACHE function-cache)

automatically generated writer method

Source

function-cache.lisp (file)

Generic Function: newest-node OBJECT
Generic Function: (setf newest-node) NEW-VALUE OBJECT
Package

function-cache

Methods
Method: newest-node (ORDERED-CACHE-MIXIN ordered-cache-mixin)

automatically generated reader method

Source

ordered.lisp (file)

Method: (setf newest-node) NEW-VALUE (ORDERED-CACHE-MIXIN ordered-cache-mixin)

automatically generated writer method

Source

ordered.lisp (file)

Generic Function: oldest-node OBJECT
Generic Function: (setf oldest-node) NEW-VALUE OBJECT
Package

function-cache

Methods
Method: oldest-node (ORDERED-CACHE-MIXIN ordered-cache-mixin)

automatically generated reader method

Source

ordered.lisp (file)

Method: (setf oldest-node) NEW-VALUE (ORDERED-CACHE-MIXIN ordered-cache-mixin)

automatically generated writer method

Source

ordered.lisp (file)

Generic Function: removed-at CONDITION
Generic Function: (setf removed-at) NEW-VALUE CONDITION
Package

function-cache

Methods
Method: removed-at (CONDITION removed-a-value)
Method: (setf removed-at) NEW-VALUE (CONDITION removed-a-value)
Source

protocol.lisp (file)

Generic Function: shared-results? OBJECT
Generic Function: (setf shared-results?) NEW-VALUE OBJECT
Package

function-cache

Methods
Method: shared-results? (FUNCTION-CACHE function-cache)

automatically generated reader method

Source

function-cache.lisp (file)

Method: (setf shared-results?) NEW-VALUE (FUNCTION-CACHE function-cache)

automatically generated writer method

Source

function-cache.lisp (file)

Generic Function: test OBJECT
Generic Function: (setf test) NEW-VALUE OBJECT
Package

function-cache

Methods
Method: test (SINGLE-CELL-FUNCTION-CACHE single-cell-function-cache)

automatically generated reader method

Source

single-cell.lisp (file)

Method: (setf test) NEW-VALUE (SINGLE-CELL-FUNCTION-CACHE single-cell-function-cache)

automatically generated writer method

Source

single-cell.lisp (file)

Generic Function: value CONDITION
Generic Function: (setf value) NEW-VALUE CONDITION
Package

function-cache

Methods
Method: value (CONDITION cache-value-condition)
Method: (setf value) NEW-VALUE (CONDITION cache-value-condition)
Source

protocol.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.4 Conditions

Condition: cache-value-condition ()
Package

function-cache

Source

protocol.lisp (file)

Direct superclasses

condition (condition)

Direct subclasses
Direct methods
  • cached-at (method)
  • cached-at (method)
  • value (method)
  • value (method)
  • key (method)
  • key (method)
  • cache (method)
  • cache (method)
Direct slots
Slot: cache
Initargs

:cache

Initform

(quote nil)

Readers

cache (generic function)

Writers

(setf cache) (generic function)

Slot: key
Initargs

:key

Initform

(quote nil)

Readers

key (generic function)

Writers

(setf key) (generic function)

Slot: value
Initargs

:value

Initform

(quote nil)

Readers

value (generic function)

Writers

(setf value) (generic function)

Slot: cached-at
Initargs

:cached-at

Initform

(quote nil)

Readers

cached-at (generic function)

Writers

(setf cached-at) (generic function)

Condition: cached-a-value ()
Package

function-cache

Source

protocol.lisp (file)

Direct superclasses

cache-value-condition (condition)

Condition: expired-a-value ()
Package

function-cache

Source

protocol.lisp (file)

Direct superclasses

removed-a-value (condition)

Condition: removed-a-value ()
Package

function-cache

Source

protocol.lisp (file)

Direct superclasses

cache-value-condition (condition)

Direct subclasses

expired-a-value (condition)

Direct methods
Direct slots
Slot: removed-at
Initargs

:removed-at

Initform

(quote (get-universal-time))

Readers

removed-at (generic function)

Writers

(setf removed-at) (generic function)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.5 Structures

Structure: cnode ()
Package

function-cache

Source

ordered.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: cache-key
Readers

cnode-cache-key (function)

Writers

(setf cnode-cache-key) (function)

Slot: result
Readers

cnode-result (function)

Writers

(setf cnode-result) (function)

Slot: older
Type

function-cache::cache-node

Readers

cnode-older (function)

Writers

(setf cnode-older) (function)

Slot: newer
Type

function-cache::cache-node

Readers

cnode-newer (function)

Writers

(setf cnode-newer) (function)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.6 Classes

Class: function-cache ()

an object that contains the cached results of function calls
the original function to be run, to set cached values
and other cache configuration parameters. This class is mostly intended to be abstract with hash-table-function-cache, and thunk-cache being the current concrete classes

Package

function-cache

Source

function-cache.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: cached-results
Initargs

:cached-results

Readers

cached-results (generic function)

Writers

(setf cached-results) (generic function)

Slot: timeout
Initargs

:timeout

Readers

timeout (generic function)

Writers

(setf timeout) (generic function)

Slot: body-fn
Initargs

:body-fn

Readers

body-fn (generic function)

Writers

(setf body-fn) (generic function)

Slot: name
Initargs

:name

Readers

name (generic function)

Writers

(setf name) (generic function)

Slot: lambda-list
Initargs

:lambda-list

Readers

lambda-list (generic function)

Writers

(setf lambda-list) (generic function)

Slot: shared-results?
Initargs

:shared-results?

Readers

shared-results? (generic function)

Writers

(setf shared-results?) (generic function)

Class: metered-hash-table-cache ()

cache backed by a hash-table, keeps metrics

Package

function-cache

Source

hash-table.lisp (file)

Direct superclasses
Class: ordered-cache-mixin ()

Mixin that keeps track of the order of cached results in a doubly linked list. FIRST references the oldest cached result, and LAST references the most recent.

Package

function-cache

Source

ordered.lisp (file)

Direct superclasses

cache-capacity-mixin (class)

Direct subclasses
Direct methods
Direct slots
Slot: oldest
Type

function-cache::cache-node

Readers

oldest-node (generic function)

Writers

(setf oldest-node) (generic function)

Slot: newest
Type

function-cache::cache-node

Readers

newest-node (generic function)

Writers

(setf newest-node) (generic function)


Previous: , Up: Internal definitions   [Contents][Index]

6.2.7 Types

Type: cache-node ()
Package

function-cache

Source

ordered.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   M  
Index Entry  Section

F
File, Lisp, function-cache.asd: The function-cache<dot>asd file
File, Lisp, function-cache/src/cache.lisp: The function-cache/src/cache<dot>lisp file
File, Lisp, function-cache/src/capacity.lisp: The function-cache/src/capacity<dot>lisp file
File, Lisp, function-cache/src/function-cache.lisp: The function-cache/src/function-cache<dot>lisp file
File, Lisp, function-cache/src/hash-table.lisp: The function-cache/src/hash-table<dot>lisp file
File, Lisp, function-cache/src/metering.lisp: The function-cache/src/metering<dot>lisp file
File, Lisp, function-cache/src/ordered.lisp: The function-cache/src/ordered<dot>lisp file
File, Lisp, function-cache/src/packages.lisp: The function-cache/src/packages<dot>lisp file
File, Lisp, function-cache/src/protocol.lisp: The function-cache/src/protocol<dot>lisp file
File, Lisp, function-cache/src/single-cell.lisp: The function-cache/src/single-cell<dot>lisp file
File, Lisp, function-cache/src/thunk.lisp: The function-cache/src/thunk<dot>lisp file
function-cache.asd: The function-cache<dot>asd file
function-cache/src: The function-cache/src module
function-cache/src/cache.lisp: The function-cache/src/cache<dot>lisp file
function-cache/src/capacity.lisp: The function-cache/src/capacity<dot>lisp file
function-cache/src/function-cache.lisp: The function-cache/src/function-cache<dot>lisp file
function-cache/src/hash-table.lisp: The function-cache/src/hash-table<dot>lisp file
function-cache/src/metering.lisp: The function-cache/src/metering<dot>lisp file
function-cache/src/ordered.lisp: The function-cache/src/ordered<dot>lisp file
function-cache/src/packages.lisp: The function-cache/src/packages<dot>lisp file
function-cache/src/protocol.lisp: The function-cache/src/protocol<dot>lisp file
function-cache/src/single-cell.lisp: The function-cache/src/single-cell<dot>lisp file
function-cache/src/thunk.lisp: The function-cache/src/thunk<dot>lisp file

L
Lisp File, function-cache.asd: The function-cache<dot>asd file
Lisp File, function-cache/src/cache.lisp: The function-cache/src/cache<dot>lisp file
Lisp File, function-cache/src/capacity.lisp: The function-cache/src/capacity<dot>lisp file
Lisp File, function-cache/src/function-cache.lisp: The function-cache/src/function-cache<dot>lisp file
Lisp File, function-cache/src/hash-table.lisp: The function-cache/src/hash-table<dot>lisp file
Lisp File, function-cache/src/metering.lisp: The function-cache/src/metering<dot>lisp file
Lisp File, function-cache/src/ordered.lisp: The function-cache/src/ordered<dot>lisp file
Lisp File, function-cache/src/packages.lisp: The function-cache/src/packages<dot>lisp file
Lisp File, function-cache/src/protocol.lisp: The function-cache/src/protocol<dot>lisp file
Lisp File, function-cache/src/single-cell.lisp: The function-cache/src/single-cell<dot>lisp file
Lisp File, function-cache/src/thunk.lisp: The function-cache/src/thunk<dot>lisp file

M
Module, function-cache/src: The function-cache/src module

Jump to:   F   L   M  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   R   S   T   V  
Index Entry  Section

%
%add-cached-node: Internal functions
%call-list-for-lambda-list: Internal functions
%ensure-unquoted: Internal functions
%insert-into-cache: Internal functions
%move-cached-node: Internal functions
%remove-cached-node: Internal functions

(
(setf body-fn): Internal generic functions
(setf body-fn): Internal generic functions
(setf cache): Internal generic functions
(setf cache): Internal generic functions
(setf cached-at): Internal generic functions
(setf cached-at): Internal generic functions
(setf cached-results): Exported generic functions
(setf cached-results): Exported generic functions
(setf capacity): Exported generic functions
(setf capacity): Exported generic functions
(setf cnode-cache-key): Internal functions
(setf cnode-newer): Internal functions
(setf cnode-older): Internal functions
(setf cnode-result): Internal functions
(setf get-cached-value): Exported generic functions
(setf get-cached-value): Exported generic functions
(setf get-cached-value): Exported generic functions
(setf get-cached-value): Exported generic functions
(setf get-cached-value): Exported generic functions
(setf get-cached-value): Exported generic functions
(setf get-cached-value): Exported generic functions
(setf hash-init-args): Internal generic functions
(setf hash-init-args): Internal generic functions
(setf hits): Exported generic functions
(setf hits): Exported generic functions
(setf key): Internal generic functions
(setf key): Internal generic functions
(setf lambda-list): Internal generic functions
(setf lambda-list): Internal generic functions
(setf misses): Exported generic functions
(setf misses): Exported generic functions
(setf name): Internal generic functions
(setf name): Internal generic functions
(setf newest-node): Internal generic functions
(setf newest-node): Internal generic functions
(setf oldest-node): Internal generic functions
(setf oldest-node): Internal generic functions
(setf reduce-by-ratio): Exported generic functions
(setf reduce-by-ratio): Exported generic functions
(setf removed-at): Internal generic functions
(setf removed-at): Internal generic functions
(setf shared-results?): Internal generic functions
(setf shared-results?): Internal generic functions
(setf test): Internal generic functions
(setf test): Internal generic functions
(setf timeout): Exported generic functions
(setf timeout): Exported generic functions
(setf value): Internal generic functions
(setf value): Internal generic functions

A
accesses: Exported functions
at-cache-capacity?: Exported generic functions
at-cache-capacity?: Exported generic functions
at-cache-capacity?: Exported generic functions

B
body-fn: Internal generic functions
body-fn: Internal generic functions

C
cache: Internal generic functions
cache: Internal generic functions
cached-at: Internal generic functions
cached-at: Internal generic functions
cached-results: Exported generic functions
cached-results: Exported generic functions
cached-results: Exported generic functions
cached-results-count: Exported generic functions
cached-results-count: Exported generic functions
cached-results-count: Exported generic functions
cached-results-count: Exported generic functions
cached-results-count: Exported generic functions
cached-results-count: Exported generic functions
cached-results-count: Exported generic functions
cacher: Internal generic functions
cacher: Internal generic functions
capacity: Exported generic functions
capacity: Exported generic functions
clear-cache: Exported generic functions
clear-cache: Exported generic functions
clear-cache: Exported generic functions
clear-cache: Exported generic functions
clear-cache: Exported generic functions
clear-cache: Exported generic functions
clear-cache-all-function-caches: Exported functions
clear-cache-partial-arguments: Exported generic functions
clear-cache-partial-arguments: Exported generic functions
clear-cache-partial-arguments: Exported generic functions
cnode: Internal functions
cnode-cache-key: Internal functions
cnode-newer: Internal functions
cnode-older: Internal functions
cnode-p: Internal functions
cnode-result: Internal functions
compute-cache-key: Exported generic functions
compute-cache-key: Exported generic functions
copy-cnode: Internal functions

D
default-cache-class: Internal generic functions
default-cache-class: Internal generic functions
defcached: Exported macros
defcached-hashkey: Exported generic functions
defcached-hashkey: Exported generic functions
do-caches: Internal functions

E
expired?: Internal generic functions
expired?: Internal generic functions

F
find-function-cache-for-name: Exported functions
Function, %add-cached-node: Internal functions
Function, %call-list-for-lambda-list: Internal functions
Function, %ensure-unquoted: Internal functions
Function, %insert-into-cache: Internal functions
Function, %move-cached-node: Internal functions
Function, %remove-cached-node: Internal functions
Function, (setf cnode-cache-key): Internal functions
Function, (setf cnode-newer): Internal functions
Function, (setf cnode-older): Internal functions
Function, (setf cnode-result): Internal functions
Function, accesses: Exported functions
Function, clear-cache-all-function-caches: Exported functions
Function, cnode: Internal functions
Function, cnode-cache-key: Internal functions
Function, cnode-newer: Internal functions
Function, cnode-older: Internal functions
Function, cnode-p: Internal functions
Function, cnode-result: Internal functions
Function, copy-cnode: Internal functions
Function, do-caches: Internal functions
Function, find-function-cache-for-name: Exported functions
Function, get-cached-object-stats: Internal functions
Function, hit-ratio: Exported functions
Function, incf-hash: Internal functions
Function, number-to-remove: Internal functions
Function, purge-all-caches: Exported functions
Function, sync-ordered-cache: Internal functions

G
Generic Function, (setf body-fn): Internal generic functions
Generic Function, (setf cache): Internal generic functions
Generic Function, (setf cached-at): Internal generic functions
Generic Function, (setf cached-results): Exported generic functions
Generic Function, (setf capacity): Exported generic functions
Generic Function, (setf get-cached-value): Exported generic functions
Generic Function, (setf hash-init-args): Internal generic functions
Generic Function, (setf hits): Exported generic functions
Generic Function, (setf key): Internal generic functions
Generic Function, (setf lambda-list): Internal generic functions
Generic Function, (setf misses): Exported generic functions
Generic Function, (setf name): Internal generic functions
Generic Function, (setf newest-node): Internal generic functions
Generic Function, (setf oldest-node): Internal generic functions
Generic Function, (setf reduce-by-ratio): Exported generic functions
Generic Function, (setf removed-at): Internal generic functions
Generic Function, (setf shared-results?): Internal generic functions
Generic Function, (setf test): Internal generic functions
Generic Function, (setf timeout): Exported generic functions
Generic Function, (setf value): Internal generic functions
Generic Function, at-cache-capacity?: Exported generic functions
Generic Function, body-fn: Internal generic functions
Generic Function, cache: Internal generic functions
Generic Function, cached-at: Internal generic functions
Generic Function, cached-results: Exported generic functions
Generic Function, cached-results-count: Exported generic functions
Generic Function, cacher: Internal generic functions
Generic Function, capacity: Exported generic functions
Generic Function, clear-cache: Exported generic functions
Generic Function, clear-cache-partial-arguments: Exported generic functions
Generic Function, compute-cache-key: Exported generic functions
Generic Function, default-cache-class: Internal generic functions
Generic Function, defcached-hashkey: Exported generic functions
Generic Function, expired?: Internal generic functions
Generic Function, get-cached-value: Exported generic functions
Generic Function, hash-init-args: Internal generic functions
Generic Function, hits: Exported generic functions
Generic Function, key: Internal generic functions
Generic Function, key-cached?: Internal generic functions
Generic Function, lambda-list: Internal generic functions
Generic Function, make-cache-backing: Internal generic functions
Generic Function, misses: Exported generic functions
Generic Function, name: Internal generic functions
Generic Function, newest-node: Internal generic functions
Generic Function, oldest-node: Internal generic functions
Generic Function, partial-argument-match?: Exported generic functions
Generic Function, purge-cache: Exported generic functions
Generic Function, reduce-by-ratio: Exported generic functions
Generic Function, reduce-cached-set: Exported generic functions
Generic Function, removed-at: Internal generic functions
Generic Function, reset-counters: Exported generic functions
Generic Function, shared-results?: Internal generic functions
Generic Function, test: Internal generic functions
Generic Function, timeout: Exported generic functions
Generic Function, value: Internal generic functions
get-cached-object-stats: Internal functions
get-cached-value: Exported generic functions
get-cached-value: Exported generic functions
get-cached-value: Exported generic functions
get-cached-value: Exported generic functions
get-cached-value: Exported generic functions
get-cached-value: Exported generic functions

H
hash-init-args: Internal generic functions
hash-init-args: Internal generic functions
hit-ratio: Exported functions
hits: Exported generic functions
hits: Exported generic functions

I
incf-hash: Internal functions

K
key: Internal generic functions
key: Internal generic functions
key-cached?: Internal generic functions
key-cached?: Internal generic functions
key-cached?: Internal generic functions
key-cached?: Internal generic functions
key-cached?: Internal generic functions

L
lambda-list: Internal generic functions
lambda-list: Internal generic functions

M
Macro, defcached: Exported macros
make-cache-backing: Internal generic functions
make-cache-backing: Internal generic functions
make-cache-backing: Internal generic functions
make-cache-backing: Internal generic functions
Method, (setf body-fn): Internal generic functions
Method, (setf cache): Internal generic functions
Method, (setf cached-at): Internal generic functions
Method, (setf cached-results): Exported generic functions
Method, (setf capacity): Exported generic functions
Method, (setf get-cached-value): Exported generic functions
Method, (setf get-cached-value): Exported generic functions
Method, (setf get-cached-value): Exported generic functions
Method, (setf get-cached-value): Exported generic functions
Method, (setf get-cached-value): Exported generic functions
Method, (setf get-cached-value): Exported generic functions
Method, (setf hash-init-args): Internal generic functions
Method, (setf hits): Exported generic functions
Method, (setf key): Internal generic functions
Method, (setf lambda-list): Internal generic functions
Method, (setf misses): Exported generic functions
Method, (setf name): Internal generic functions
Method, (setf newest-node): Internal generic functions
Method, (setf oldest-node): Internal generic functions
Method, (setf reduce-by-ratio): Exported generic functions
Method, (setf removed-at): Internal generic functions
Method, (setf shared-results?): Internal generic functions
Method, (setf test): Internal generic functions
Method, (setf timeout): Exported generic functions
Method, (setf value): Internal generic functions
Method, at-cache-capacity?: Exported generic functions
Method, at-cache-capacity?: Exported generic functions
Method, body-fn: Internal generic functions
Method, cache: Internal generic functions
Method, cached-at: Internal generic functions
Method, cached-results: Exported generic functions
Method, cached-results: Exported generic functions
Method, cached-results-count: Exported generic functions
Method, cached-results-count: Exported generic functions
Method, cached-results-count: Exported generic functions
Method, cached-results-count: Exported generic functions
Method, cached-results-count: Exported generic functions
Method, cached-results-count: Exported generic functions
Method, cacher: Internal generic functions
Method, capacity: Exported generic functions
Method, clear-cache: Exported generic functions
Method, clear-cache: Exported generic functions
Method, clear-cache: Exported generic functions
Method, clear-cache: Exported generic functions
Method, clear-cache: Exported generic functions
Method, clear-cache-partial-arguments: Exported generic functions
Method, clear-cache-partial-arguments: Exported generic functions
Method, compute-cache-key: Exported generic functions
Method, default-cache-class: Internal generic functions
Method, defcached-hashkey: Exported generic functions
Method, expired?: Internal generic functions
Method, get-cached-value: Exported generic functions
Method, get-cached-value: Exported generic functions
Method, get-cached-value: Exported generic functions
Method, get-cached-value: Exported generic functions
Method, get-cached-value: Exported generic functions
Method, hash-init-args: Internal generic functions
Method, hits: Exported generic functions
Method, key: Internal generic functions
Method, key-cached?: Internal generic functions
Method, key-cached?: Internal generic functions
Method, key-cached?: Internal generic functions
Method, key-cached?: Internal generic functions
Method, lambda-list: Internal generic functions
Method, make-cache-backing: Internal generic functions
Method, make-cache-backing: Internal generic functions
Method, make-cache-backing: Internal generic functions
Method, misses: Exported generic functions
Method, name: Internal generic functions
Method, newest-node: Internal generic functions
Method, oldest-node: Internal generic functions
Method, partial-argument-match?: Exported generic functions
Method, purge-cache: Exported generic functions
Method, purge-cache: Exported generic functions
Method, purge-cache: Exported generic functions
Method, purge-cache: Exported generic functions
Method, purge-cache: Exported generic functions
Method, purge-cache: Exported generic functions
Method, reduce-by-ratio: Exported generic functions
Method, reduce-cached-set: Exported generic functions
Method, reduce-cached-set: Exported generic functions
Method, reduce-cached-set: Exported generic functions
Method, removed-at: Internal generic functions
Method, reset-counters: Exported generic functions
Method, reset-counters: Exported generic functions
Method, shared-results?: Internal generic functions
Method, test: Internal generic functions
Method, timeout: Exported generic functions
Method, value: Internal generic functions
misses: Exported generic functions
misses: Exported generic functions

N
name: Internal generic functions
name: Internal generic functions
newest-node: Internal generic functions
newest-node: Internal generic functions
number-to-remove: Internal functions

O
oldest-node: Internal generic functions
oldest-node: Internal generic functions

P
partial-argument-match?: Exported generic functions
partial-argument-match?: Exported generic functions
purge-all-caches: Exported functions
purge-cache: Exported generic functions
purge-cache: Exported generic functions
purge-cache: Exported generic functions
purge-cache: Exported generic functions
purge-cache: Exported generic functions
purge-cache: Exported generic functions
purge-cache: Exported generic functions

R
reduce-by-ratio: Exported generic functions
reduce-by-ratio: Exported generic functions
reduce-cached-set: Exported generic functions
reduce-cached-set: Exported generic functions
reduce-cached-set: Exported generic functions
reduce-cached-set: Exported generic functions
removed-at: Internal generic functions
removed-at: Internal generic functions
reset-counters: Exported generic functions
reset-counters: Exported generic functions
reset-counters: Exported generic functions

S
shared-results?: Internal generic functions
shared-results?: Internal generic functions
sync-ordered-cache: Internal functions

T
test: Internal generic functions
test: Internal generic functions
timeout: Exported generic functions
timeout: Exported generic functions

V
value: Internal generic functions
value: Internal generic functions

Jump to:   %   (  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   R   S   T   V  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
B   C   H   K   L   M   N   O   R   S   T   V  
Index Entry  Section

*
*bypass-cache*: Exported special variables
*cache*: Internal special variables
*cache-names*: Exported special variables
*cached-at*: Internal special variables
*default-cache-class*: Exported special variables
*default-hash-init-args*: Internal special variables

B
body-fn: Internal classes

C
cache: Internal conditions
cache-key: Internal structures
cached-at: Internal conditions
cached-results: Internal classes
capacity: Exported classes

H
hash-init-args: Exported classes
hits: Exported classes

K
key: Internal conditions

L
lambda-list: Internal classes

M
misses: Exported classes

N
name: Internal classes
newer: Internal structures
newest: Internal classes

O
older: Internal structures
oldest: Internal classes

R
reduce-by-ratio: Exported classes
removed-at: Internal conditions
result: Internal structures

S
shared-results?: Internal classes
Slot, body-fn: Internal classes
Slot, cache: Internal conditions
Slot, cache-key: Internal structures
Slot, cached-at: Internal conditions
Slot, cached-results: Internal classes
Slot, capacity: Exported classes
Slot, hash-init-args: Exported classes
Slot, hits: Exported classes
Slot, key: Internal conditions
Slot, lambda-list: Internal classes
Slot, misses: Exported classes
Slot, name: Internal classes
Slot, newer: Internal structures
Slot, newest: Internal classes
Slot, older: Internal structures
Slot, oldest: Internal classes
Slot, reduce-by-ratio: Exported classes
Slot, removed-at: Internal conditions
Slot, result: Internal structures
Slot, shared-results?: Internal classes
Slot, test: Exported classes
Slot, timeout: Internal classes
Slot, value: Internal conditions
Special Variable, *bypass-cache*: Exported special variables
Special Variable, *cache*: Internal special variables
Special Variable, *cache-names*: Exported special variables
Special Variable, *cached-at*: Internal special variables
Special Variable, *default-cache-class*: Exported special variables
Special Variable, *default-hash-init-args*: Internal special variables

T
test: Exported classes
timeout: Internal classes

V
value: Internal conditions

Jump to:   *  
B   C   H   K   L   M   N   O   R   S   T   V  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   E   F   H   L   M   O   P   R   S   T  
Index Entry  Section

C
cache-capacity-mixin: Exported classes
cache-node: Internal types
cache-value-condition: Internal conditions
cached-a-value: Internal conditions
Class, cache-capacity-mixin: Exported classes
Class, function-cache: Internal classes
Class, hash-table-function-cache: Exported classes
Class, hash-table-function-cache-with-capacity: Exported classes
Class, lru-cache: Exported classes
Class, metered-hash-table-cache: Internal classes
Class, metered-mixin: Exported classes
Class, mru-cache: Exported classes
Class, ordered-cache-mixin: Internal classes
Class, single-cell-function-cache: Exported classes
Class, thunk-cache: Exported classes
cnode: Internal structures
Condition, cache-value-condition: Internal conditions
Condition, cached-a-value: Internal conditions
Condition, expired-a-value: Internal conditions
Condition, removed-a-value: Internal conditions

E
expired-a-value: Internal conditions

F
function-cache: The function-cache system
function-cache: The function-cache package
function-cache: Internal classes
function-cache-system: The function-cache-system package

H
hash-table-function-cache: Exported classes
hash-table-function-cache-with-capacity: Exported classes

L
lru-cache: Exported classes

M
metered-hash-table-cache: Internal classes
metered-mixin: Exported classes
mru-cache: Exported classes

O
ordered-cache-mixin: Internal classes

P
Package, function-cache: The function-cache package
Package, function-cache-system: The function-cache-system package

R
removed-a-value: Internal conditions

S
single-cell-function-cache: Exported classes
Structure, cnode: Internal structures
System, function-cache: The function-cache system

T
thunk-cache: Exported classes
Type, cache-node: Internal types

Jump to:   C   E   F   H   L   M   O   P   R   S   T