This is the lambdalite Reference Manual, version 1.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 05:30:01 2025 GMT+0.
The main system appears first, followed by any subsystem dependency.
lambdaliteA functional, relational Lisp database
Wukix Inc <engineering@wukix.com>
MIT
A functional, relational database in about 250 lines of Common Lisp
1.0.1
wu-sugar (system).
bordeaux-threads (system).
lambdalite.lisp (file).
Files are sorted by type and then listed depth-first from the systems components trees.
lambdalite/lambdalite.lisplambdalite (system).
*db* (special variable).
*db-path* (special variable).
*tx* (special variable).
*tx-lock* (special variable).
*tx-modified-list* (special variable).
clone-temporary (function).
make-filename (function).
persist (function).
with-lock (macro).
Packages are listed by definition order.
lambdalitecommon-lisp.
wu-sugar.
*db* (special variable).
*db-path* (special variable).
*tx* (special variable).
*tx-lock* (special variable).
*tx-modified-list* (special variable).
clone-temporary (function).
make-filename (function).
persist (function).
with-lock (macro).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Defines getter functions and validation functions for row attributes. Example:
(defattributes
:/item-id
:/title (lambda (x) (<= 1 (length x) 200)))
This would create the getter functions :/item-id and :/title, plus the validation function valid-title-p.
An ’update function’ for use in UPDATE. Example: (update :things (where foo) (keyset :/bar 1 :/baz 2))
Like WHERE, except giving direct access to the row, bound to ROW-BINDING. Unlike WHERE, EXPRESSION runs unmodified. Example: (select :users (where-on u (equal (:/age u) 30)))
Execute a transaction as follows:
1. Every command that writes executes against a temporary table.
2. Back up the real target tables on disk.
3. Swap the target tables with the temporary ones in memory and persist.
4. If 3 does not complete, reverse the original swaps with the temporary tables and restore the backups as primary.
5. Delete backup files and temporary tables.
Usage: (del :foo (where ...))
Example: (insert :users (:/user-id 1 :/name "Bob") (:/user-id 2 :/name "Alice"))
Returns a list of table names (as keywords).
Loads data files if they exist at PATH, or initializes an empty setup if not. Call once at startup.
Example: (select :users (where (search "Bob" :/name)))
Like SELECT, but returns the first row found.
Example: (update :things (where (evenp :/foo)) (keyset :/bar 1 :/baz 2))
| Jump to: | C D F I K L M P S U W |
|---|
| Jump to: | C D F I K L M P S U W |
|---|
| Jump to: | *
S |
|---|
| Jump to: | *
S |
|---|
| Jump to: | F L P S |
|---|
| Jump to: | F L P S |
|---|