This is a part of the struct module in the tcllib distribution.
Documentation for this package can be found at
Here we provide only a quick overview. The package provides a single ensemble command, struct::list, which provides the following methods:
- assign sequence varname ?varname ...?
- dbJoin ?-inner|-left|-right|-full? ?-keys varname? {keycol table}...
- dbJoinKeyed ?-inner|-left|-right|-full? ?-keys varname? table...
- equal a b
- filter sequence cmdprefix
- filterfor var sequence expr
- firstperm list
- flatten ?-full? ?--? sequence
- fold sequence initialvalue cmdprefix
- foreachperm var list body
- iota n
- lcsInvert lcsData len1 len2
- lcsInvert2 lcs1 lcs2 len1 len2
- lcsInvertMerge lcsData len1 len2
- lcsInvertMerge2 lcs1 lcs2 len1 len2
- longestCommonSubsequence sequence1 sequence2 ?maxOccurs?
- longestCommonSubsequence2 sequence1 sequence2 ?maxOccurs?
- map sequence cmdprefix
- mapfor var sequence script
- nextperm perm
- permutations list
- repeat size element1 ?element2 element3 ...?
- repeatn value size...
- reverse sequence
- shift listvar
- split sequence cmdprefix ?passVar failVar?
- swap listvar i j
The prefix lcs, as used by a number of the methods above, stands for longest common subsequence.