This is the group-by Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 05:23:37 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
group-by
A Common Lisp library to help group data into trees (of various formats) based on common/shared values
BSD
0.1
iterate
(system).
alexandria
(system).
group-by.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
group-by/group-by.lisp
group-by
(system).
add-item-to-grouping
(generic function).
categorize-item
(generic function).
child-groupings
(generic function).
group-by
(function).
group-by-repeated
(function).
grouped-list
(class).
grouped-list-speed-tester
(function).
initialize-instance
(method).
items-in-group
(generic function).
key-value
(reader method).
(setf key-value)
(writer method).
keys
(reader method).
(setf keys)
(writer method).
make-child-grouped-list
(method).
make-grouped-list
(function).
parent-grouping
(reader method).
(setf parent-grouping)
(writer method).
tests
(reader method).
(setf tests)
(writer method).
%child-groupings
(reader method).
(setf %child-groupings)
(writer method).
%grouping-items
(generic function).
%items
(reader method).
(setf %items)
(writer method).
find-single-sub-category
(function).
grouping-implementation
(reader method).
(setf grouping-implementation)
(writer method).
orig-list
(reader method).
(setf orig-list)
(writer method).
Packages are listed by definition order.
group-by
common-lisp
.
common-lisp-user
.
iterate
.
add-item-to-grouping
(generic function).
categorize-item
(generic function).
child-groupings
(generic function).
group-by
(function).
group-by-repeated
(function).
grouped-list
(class).
grouped-list-speed-tester
(function).
items-in-group
(generic function).
key-value
(generic reader).
(setf key-value)
(generic writer).
keys
(generic reader).
(setf keys)
(generic writer).
make-child-grouped-list
(generic function).
make-grouped-list
(function).
parent-grouping
(generic reader).
(setf parent-grouping)
(generic writer).
tests
(generic reader).
(setf tests)
(generic writer).
%child-groupings
(generic reader).
(setf %child-groupings)
(generic writer).
%grouping-items
(generic function).
%items
(generic reader).
(setf %items)
(generic writer).
find-single-sub-category
(function).
grouping-implementation
(generic reader).
(setf grouping-implementation)
(generic writer).
orig-list
(generic reader).
(setf orig-list)
(generic writer).
Definitions are sorted by export status, category, package, and then by lexicographic order.
groups the list into an alist using the key function and value function to group by key,
with a list of all values for that key.
key is used to determine the key in the a-list
value is used to determin the value in the a-list
key-fn is passed as the :key to assoc
test is passed as the :test to assoc
eg: (group-by ’((a 1 2) (a 3 4) (b 5 6)))
=> ((A (1 2) (3 4)) (B (5 6)))
Returns an alist tree that represents the items in the list as categorized
by keys (compared with tests)
ex: ((a 3 sam) (c 4 bob) (a 3 ted))
keys: a list of key functions that describe the categorizations in order tests: how we are testing whether or not two keys are equal, defaults to #’equal
A function to help assess which implementation will work best in your given scenario
actions : (lambda (gl) ...) -to help test whatever grouped list
operations you will need to do repeatedly
Given a list of input, produce a grouped-list CLOS object that contains
the original list, configuration about the groupings and the result tree
of grouped-list objects
”keys”: a list of keys to group by<br />
”tests”: a list of tests to compare the keys with<br />
”grouping-implmentation”: What data structure should be used to perform the grouping<br />
”:alist, :tree , :hash-table”<br />
The implementation doesnt change the output, but it does change
the performance characteristics of the grouped-object (see:
grouped-list-speed-tester for help deciding which to use)
grouped-list
)) ¶puts a new item in the grouping of the grouped list (but not in the original list)
Insert a new item into a grouped list
grouped-list
) &key &allow-other-keys) ¶list
) &key keys tests &allow-other-keys) ¶Categorize a new item into an alist as produced by group-by-repeated This will create new category nodes if necessary
grouped-list
)) ¶a list of key values that will produce a list of all the items in a given group
grouped-list
) &rest key-values) ¶grouped-list
)) ¶grouped-list
)) ¶If this is a subgrouping of another grouped-list, what is the key this grouped-list represents in the parent grouping (mostly for testing)
grouped-list
)) ¶grouped-list
)) ¶A list of key functions we will use to group the list
keys
.
grouped-list
) key-value grouped-list) ¶grouped-list
)) ¶grouped-list
)) ¶If this is a subgrouping of another grouped-list, what is the parent grouping we are apart of (mostly for testing)
grouped-list
)) ¶grouped-list
)) ¶A list of test functions we will use to test key equality
tree: defaults to #’equal
hash-table: this be a single hash-equality symbol (defaults to ’equal)
grouped-list
) &key list &allow-other-keys) ¶This class represents a list that we have grouped by multiple key values ala one of the group-by-repeatedly functions
(setf %child-groupings)
.
%child-groupings
.
%grouping-items
.
(setf %items)
.
%items
.
add-item-to-grouping
.
categorize-item
.
child-groupings
.
(setf grouping-implementation)
.
grouping-implementation
.
initialize-instance
.
items-in-group
.
(setf key-value)
.
key-value
.
(setf keys)
.
keys
.
make-child-grouped-list
.
(setf orig-list)
.
orig-list
.
(setf parent-grouping)
.
parent-grouping
.
(setf tests)
.
tests
.
:orig-list
What data structure should be used to perform the grouping :list, :hash-table
:list
:grouping-implementation
A list of key functions we will use to group the list
:keys
keys
.
A list of test functions we will use to test key equality
tree: defaults to #’equal
hash-table: this be a single hash-equality symbol (defaults to ’equal)
:tests
:%child-groupings
:%items
If this is a subgrouping of another grouped-list, what is the parent grouping we are apart of (mostly for testing)
:parent
If this is a subgrouping of another grouped-list, what is the key this grouped-list represents in the parent grouping (mostly for testing)
:key-value
grouped-list
)) ¶automatically generated reader method
grouped-list
)) ¶automatically generated writer method
grouped-list
)) ¶Returns the items in a given group
grouped-list
)) ¶automatically generated reader method
grouped-list
)) ¶automatically generated writer method
grouped-list
)) ¶grouped-list
)) ¶What data structure should be used to perform the grouping :list, :hash-table
grouped-list
)) ¶automatically generated reader method
grouped-list
)) ¶automatically generated writer method
Jump to: | %
(
A C F G I K M O P T |
---|
Jump to: | %
(
A C F G I K M O P T |
---|
Jump to: | %
G K O P S T |
---|
Jump to: | %
G K O P S T |
---|
Jump to: | C F G P S |
---|
Jump to: | C F G P S |
---|