Documentation can be found for various (tcllib) data structures.Provided structures, so far: * [graph] - http://tcllib.sourceforge.net/doc/graph.html * [struct::list] - http://tcllib.sourceforge.net/doc/struct_list.html * [matrix] - http://tcllib.sourceforge.net/doc/matrix.html * [pool] - http://tcllib.sourceforge.net/doc/pool.html * [prioqueue] - http://tcllib.sourceforge.net/doc/prioqueue.html * [queue] - http://tcllib.sourceforge.net/doc/queue.html * [record] - http://tcllib.sourceforge.net/doc/record.html * [struct::set] - http://tcllib.sourceforge.net/doc/struct_set.html * [skiplist] - http://tcllib.sourceforge.net/doc/skiplist.html * [stack] - http://tcllib.sourceforge.net/doc/stack.html * [struct::struct] - http://tcllib.sourceforge.net/doc/struct_struct.html * [tree] - http://tcllib.sourceforge.net/doc/struct_tree.html ---- How is the tcllib struct::list going to work - I presume that it can't be namespace import'd to replace the core's list command? Is there anything that can be done to prevent this from accidentally happening? '''[DGP]''' Did you try it? [[namespace import]] throws an error on any attempt to import a command that already exists in the target namespace. Why would you want to muck with the global namespace anyway? Just import [[struct::list]] into your own namespace, if you want to make use of it by the simple name ''list'' rather than the fully qualified ''::struct::list''. You ''are'' writing code in your own namespace, right? ---- Often what people want from "struct" is a C-like datatype. This is much different from the tcllib data structures described above. Various people have coded Tcl extensions for this kind of "struct"; [Iain B. Findleton]'s [Containers] appears to be a very nice data structure extension that includes one. Many people have written small procs that implement a C like structure facility in Tcl. Check google nearly monthly for discussions. Here's a thread [http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=a4ee9c%24mvi%40gap.cco.caltech.edu] that covers one nice implementation. The first exchange in that thread is also here at [C Struct is Tcl!] And of course, now tcllib has record - which provides that type of functionality! ---- [Category Package], subset [Tcllib] | [Category Data Structure]