Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the persistent-tables Reference Manual, version 0.0.1, generated automatically by Declt version 3.0 "Montgomery Scott" on Tue Dec 22 14:38:21 2020 GMT+0.
• Introduction | What persistent-tables is all about | |
• Systems | The systems documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
This is a dead simple implementation of persistent hash tables on top of a port of David Va Horn's persistent random-access lists, SRFI-101.
These are like hash tables in most respects, with similar, but not
identical performance profiles, with the major exception that
modification is functional, ptbl-set
returns a new hash table with
the new association in it. The previous table is left unmodified.
(setq tbl ({} the-empty-ptbl :x 10))
(ptbl-get tbl :x) -> 10
(ptbl-get the-empty-ptbl :x) -> nil
The function {}
allows you to quickly create a new ptbl or to update
the associations in a ptbl
, when the first argument is itself a
ptbl
. Eg:
({} :x 10 :y 11)
Creates a new ptbl
with :x
and :y
associations.
({} a-table :x 10 :y 11)
Returns a new ptbl
with the same associations as a-table
except
where :x
and :y
are concerned.
Next: Files, Previous: Introduction, Up: Top [Contents][Index]
The main system appears first, followed by any subsystem dependency.
• The persistent-tables system |
Vincent Toups
Vincent Toups
Persistent tables.
0.0.1
persistent-tables.asd (file)
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files |
• The persistent-tables.asd file | ||
• The persistent-tables/package.lisp file | ||
• The persistent-tables/persistent-tables.lisp file |
Next: The persistent-tables/package․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
persistent-tables.asd
persistent-tables (system)
Next: The persistent-tables/persistent-tables․lisp file, Previous: The persistent-tables․asd file, Up: Lisp files [Contents][Index]
persistent-tables (system)
package.lisp
Previous: The persistent-tables/package․lisp file, Up: Lisp files [Contents][Index]
package.lisp (file)
persistent-tables (system)
persistent-tables.lisp
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
• The persistent-tables package |
package.lisp (file)
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions | ||
• Internal definitions |
Next: Internal definitions, Previous: Definitions, Up: Definitions [Contents][Index]
• Exported functions |
Previous: Exported definitions, Up: Exported definitions [Contents][Index]
Create a fresh persistent hash table with N (107) bins and TEST for equality.
persistent-tables.lisp (file)
Return an association list with the same assocations as TBL.
persistent-tables.lisp (file)
Produce a nice string representation of the persistent hash table TBL.
persistent-tables.lisp (file)
Retreive the association for KEY from the persistent hashtable TBL. Return OR-VALUE if no association exists, which defaults to NIL.
persistent-tables.lisp (file)
Return a list of all keys in the persistent hash table TBL. Order is unspecified.
persistent-tables.lisp (file)
Return a new persistent hash table which is like TBL except that KEY is associated with VAL.
persistent-tables.lisp (file)
Return a list of all values in the persistent hash table TBL. Order is unspecified.
persistent-tables.lisp (file)
Construct or augment a PTBL with the KEY/VAL pairs in ARGS. If MAYBE-PTBL is not a PTBL, treat it as the first key and use an empty persistent table.
persistent-tables.lisp (file)
Previous: Exported definitions, Up: Definitions [Contents][Index]
• Internal special variables | ||
• Internal macros | ||
• Internal functions | ||
• Internal structures |
Next: Internal macros, Previous: Internal definitions, Up: Internal definitions [Contents][Index]
An empty EQUAL testing persistent hash table.
persistent-tables.lisp (file)
An empty EQ testing persistent hash table.
persistent-tables.lisp (file)
Next: Internal functions, Previous: Internal special variables, Up: Internal definitions [Contents][Index]
persistent-tables.lisp (file)
Next: Internal structures, Previous: Internal macros, Up: Internal definitions [Contents][Index]
Return all the keys in a BUCKET.
persistent-tables.lisp (file)
Return all the values in a BUCKET.
persistent-tables.lisp (file)
persistent-tables.lisp (file)
persistent-tables.lisp (file)
persistent-tables.lisp (file)
Add an association to BUCKET with KEY, VAL and KEY equality tested under TEST.
persistent-tables.lisp (file)
persistent-tables.lisp (file)
Set the BUCKETS part of a persistent table P to (FUNCALL F B), where B is the old buckets.
persistent-tables.lisp (file)
Find an association to BUCKET with KEY. TEST defines key equality.
persistent-tables.lisp (file)
Return the number of buckets in the table P.
persistent-tables.lisp (file)
persistent-tables.lisp (file)
Set the BUCKETS part of a persistent table P to B.
persistent-tables.lisp (file)
persistent-tables.lisp (file)
persistent-tables.lisp (file)
Previous: Internal functions, Up: Internal definitions [Contents][Index]
persistent-tables.lisp (file)
structure-object (structure)
ptbl-buckets (function)
(setf ptbl-buckets) (function)
ptbl-test (function)
(setf ptbl-test) (function)
Previous: Definitions, Up: Top [Contents][Index]
• Concept index | ||
• Function index | ||
• Variable index | ||
• Data type index |
Next: Function index, Previous: Indexes, Up: Indexes [Contents][Index]
Jump to: | F L P |
---|
Jump to: | F L P |
---|
Next: Variable index, Previous: Concept index, Up: Indexes [Contents][Index]
Jump to: | (
{
B C E F M N P |
---|
Jump to: | (
{
B C E F M N P |
---|
Next: Data type index, Previous: Function index, Up: Indexes [Contents][Index]
Jump to: | B S T |
---|
Jump to: | B S T |
---|
Previous: Variable index, Up: Indexes [Contents][Index]
Jump to: | P S |
---|
Jump to: | P S |
---|