From 5dd73a1f072dde69574da5ee9cf10ff81dd0408f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 16 Oct 2023 15:10:34 +0200 Subject: Add documentation and tests for table. --- doc/ref/general/table.texi | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 doc/ref/general/table.texi (limited to 'doc/ref/general/table.texi') diff --git a/doc/ref/general/table.texi b/doc/ref/general/table.texi new file mode 100644 index 00000000..69bb839f --- /dev/null +++ b/doc/ref/general/table.texi @@ -0,0 +1,38 @@ +@node Table +@section Table + +An immutable table, where all operations on the table return a new +table with the wanted changes carried out. All keys @emph{must} be +symbols. + +@defun table +Constructs a new empty table. +@end defun + +@defun table? x +Is @var{x} a table? +@end defun + +@defun table-get table key [default=#f] +Retrive value form table, returns @var{default} if key isn't in the +table. +@end defun + +@defun table-put table key value +Insert new value into table, overwriting anything previously stored +under that key. Returns a new table with the values set. +@end defun + +@defun table-remove table key +Returns a new table with @var{key} removed. +@end defun + +@defun table->list table +Return an association list with the same content as the table. + +The keys will be sorted. +@end defun + +@defun alist->table alist +Construct a new table from the given alist. +@end defun -- cgit v1.2.3