A ''nested list'' is simply a list that occurs as an element of another list (which may of course itself be an element of another list, etc.). Common reasons nested lists arise are: 1. They're matrices (a list of rows, where each row is itself a list, or a list of columns where each column is itself a list). 2. Lists are being used for what in other languages is known as structs, [record]s, or tuples -- collections of data with a fixed structure. 3. A [tree] is encoded as a list where the subtrees occur as elements (hence lists are nested as deeply as the tree is high). [[Discuss when using a nested list is important or useful - what are cases where it is a good solution]] Before Tcl 8.4, nested lists were quite difficult to work with -- getting nested elements required nesting [lindex] commands, and the nightmare of setting elements in nested lists without the help of [lset] is better forgotten -- and as a result older code often uses [array]s even in cases where the first-class data status (being possible to pass by value) of a list would have been very useful. [[Discuss which Tcl built in commands can be used to build, search, and maintain the list]] ---- * [split and join for nested lists] * [Trees as nested lists] * [Nested list join] * [Tables] ---- !!!!!! %| [Category Data Structure] |% !!!!!!