Module sequence-utilities

Sequence-Utilities, written by Matthias Hölzl, provides common or oft-used operations performed on <sequence>s.  The whole module is rather Lispy in flavor, and has the feel of an elegant hack by the way functions use predicate functions to manipulate lists.

Exported from

Library collection-extensions

Summary
Sequence-Utilities, written by Matthias Hölzl, provides common or oft-used operations performed on <sequence>s.
Those familiar with Lisp will feel at home here.

Associative lists

Those familiar with Lisp will feel at home here.  Associative lists are <list>s that contain <pair>s of entries in a #(key . value) format.  Much like <table>s, one looks up the key to obtain the value information.  Functions dealing with associative lists are:

sequence-utilities names

The class of collections whose keys are consecutive integers starting from zero.
The various modules in this library contain a few new types and operations which are compatible with the collection types specified in the Dylan Reference Manual, but which are not part of that specification.
The class of linked lists.
The class of lists that can have new values assigned to their heads and tails.
The class of tables (also known as hash tables).
Copies an associative list.
Deletes associations from the associative list.
Adds an association to a sequence.
Looks up a value given a key.
Maps a function over a sequence, then chooses selected elements.
Concatenates sequences then maps a function over the resulting sequence.
Returns elements of a sequence except those from either end.
Find an element satisfying a predicate.
Find an element satisfying a predicate, returning it and the rest of the sequence.
Rebuilds a list by applying a function over it.
In a list of lists, this function returns a list of the first elements of each of the lists.
Find an element and return its index.
Return the final pair or last element of a non-empty list.
Creates a proper or improper list.
Check whether this sequence is the empty list.
Like do, except that it takes multiple argument lists.
This function is like foldl but works on sublists.
This function is like foldr but works on sublists.
Takes a list and returns two lists: one that satisfies a predicate, and one that doesn’t.
A macro.
Verifies that one element comes before another in a sequence.
A macro.
A function.
A function.
Prepend a reversed sequence to another sequence.
Serves the same purpose as find-key.
A function.
Make a sequence by performing a function on the index.
In a list of lists, this function returns a list of the all but first elements of each of the lists.
Returns elements from either end of a sequence.
This function is dual to reduce; instead of taking some functions and a list and producing a value, it takes a value and some functions and produces a list.
This function is similar to unfold, except that it can also be used to build an improper list.
Puts an element at the head of a list.