You are looking at historical revision 9744 of this page. It may differ significantly from its current revision.
Introduction
Combinators grab-bag.
Usage
(require-extension combinators)
Documentation
group/key
[procedure] (group/key KEYPROC LYST [EQUALITY equal?])
Groups a LYST of elements by some key attribute. Uses the single-argument KEYPROC to retrieve key values & the EQUALITY procedure to compare them.
Returns a list of grouped elements.
make-</key
[procedure] (make-</key KEYPROC [LESS-THAN <])
Returns a two-argument procedure that uses the single-argument KEYPROC to retrieve key values & the two-argument LESS-THAN procedure to compare them.
Examples
(group/key identity '(1 2 3 3 4 4 4)) ;=> ((1) (2) (3 3) (4 4 4)) (group/key car '((a 1) (a 2) (b 1))) ;=> '(((a 1) (a 2)) ((b 1))) (sort '(("a" . 1) ("z" . 3) ("b" . 2)) (make-</key first string-ci<?)) ;=> (("a" . 1) ("b" . 2) ("z" . 3))
Notes
Bugs and Limitations
Author
- Graham Fawcett
- Kon Lovett
License
Public Domain.
Requirements
Version history
- 1.0
- Hello