<> ** Summary ** For those programmers who are beyond [Beginning Tcl], and would really like to exploit some of the power of the Tcl language and/or the Tk Toolkit, here is a list of pages describing some advanced concepts. This is a grab bag of new ideas that you might one day find useful. It isn't indexed to help you solve specific problems. Just read through it for ideas. Come back later for a refresher when you want to try them out. ** General ** [The Tcl Core]: [Tcl data types]: [Tcl Performance]: [Tcl Questions and Answers]: ** Style ** [Tcl style discussion]: ** Tcl Facilities ** [Regular Expressions]: [Arrays / Hash Maps]: [String Processing]: Variable [Traces]: when are they useful? [Serial Port]: How to control a physical device ** Caveats ** [Dangers of creative writing]: ** Builtin Extensions ** [dde]: ** Language Tricks ** [New Control Structures]: [Radical language modification]: ever wanted to write i = 1? [Playing C]: [Salt and sugar]: how to make Tcl code look nicer [Tcl Gems]: [Braintwisters]: ** Design Patterns ** [Introspection]: [Guarded proc]: [Meta Programming]: [Local procedures]: [How can I add a new option to an existing Tcl command]?: [How do I manage lock files in a cross platform manner in Tcl]: ? [Data is code]: [Predicates: on being and having]: [paragraphing]: ** Event-Driven Programming ** [Animations and Timing issues]: ** Parsing ** [http://users.pandora.be/koen.vandamme1/papers/tcl_fileformats/tcl_fileformats.html%|%Data files in Tcl]: simple tricks to parse text files [Syntax parsing in Tcl]: [Simple tree layout]: ** Inter-Process Communication ** [Remote Script Execution]: ** Object-Oriented Programming ** [http://www.wjduquette.com/tcl/objects.html%|%Will's Guide to Creating Object Commands]: [http://users.pandora.be/koen.vandamme1/papers/tcl_objects/tcl_objects.html%|%Objects in Tcl ]: [Curbside Collection for Object Systems]: [Gadgets]: [LOST]: [On things]: [Doing things]: [Doing things in namespaces]: [Chaining things]: ** Functional Style ** [Steps towards functional programming]: [Lambda in Tcl]: [Tail call optimization]: [linked lists]: ** Integration ** [Sendmail]: Sockets demonstration using an all-Tcl [telnet]: [Interacting with the internet]: [Interacting with databases]: ** Extending Tcl ** [package management]: [Building Tcl extensions]: [How can I compile Tcl type scripts into binary code]: ? [What should I be sure to do so my Tcl based programs run cross platform]: ? [Tcl Handles]: passing C pointers around in Tcl [Dynamic Libraries in Tcl]: ** Tk Concepts ** [Tk Performance]: [Entry Field Processing]: [Event Processing]: [Overloading a widget command]: [Drag-N-Drop Example%|%Poor Man's Drag-N-Drop]: by Bryan Oakley [Geometry Managers]: [Practical Guide to Choosing Fonts]: [Grab Tips]: for when you want to redirect events from one window to another [http://www.cs.man.ac.uk/~fellowsd/tcl/option-tutorial.html%|%Option Database Tutorial]: a great way of getting user-configurable and localizable applications [Adding User Data to Widgets the Megawidget Way]: [Tk image Dos and Don'ts]: [Cross Platform differences in Tcl/Tk]: ** Interfacing with C ** [Hello World as a C extension]: [Writing Extensions]: [Critcl builds C extensions on-the-fly]: [Pointer clean-up!]: from [PSE] [Blessed Tcl_Obj Values]: [DKF]: how to make that struct full of pointers be passable through Tcl while ''guaranteeing'' that no loose references can be generated [How do I use the Tcl C API?]: ** Internationalization ** [i18n - Writing for the world]: [Unicode and UTF-8]: [UTF-8 bit by bit]: [i18n tester]: [A little Unicode editor]: [A little Korean editor]: [Unicode file reader]: [The Lish family]: converters from 7-bit ASCII to Arab/Cyrillic/Greek/Hebrew/Japanese/Korean.. Unicodes [Bag of number/time spellers]: on the interface between people and numbers [Chinese numbers]: [Hebrew numbers]: [Roman numbers]: [Natural languages]: [Things British]: [Things Japanese]: [taiku goes multilingual]: [Endekalogue]: has links to almost a dozen translations of man Tcl into different languages ** Old Skool ** [BASIC in Tcl]: [Retrocomputing]: [Playing Assembler]: 8080! [RPN in Tcl]: reverse Polish notation ** Other Languages ** [Playing Prolog]: [Playing Python]: [Playing C]: [Playing APL]: [Playing Smalltalk]: [Tcl and LISP]: [Playing Haskell]: [Turtle graphics the LOGO way]: [Unix shells]: [Perl]: [TclJava]: [Eiffel-like Invariants]: Design by Contract stuff. ** Diversions ** [99 bottles of beer]: [ANSI color control]: [Tcl/Tk games]: [Obfuscation]: [Quines]: [Turtleshell]: [Horseracing in Tcl]: [Model railroading with Tcl]: [Notes on a canvas]: [Postcard from Switzerland]: [Toy cars]: ** Misc ** [Bag of algorithms]: [Bag of Tk algorithms]: [Bag of number/time spellers]: [Example scripts everybody should have]: [Braintwisters]: [Tcl gems]: [When should Tcl/Tk/etc. NOT be used]?: [Halting Problem]: Tcl-style [Tk in a set-userid application]: [How do I report a bug in Tcl, Tk, ...]?: [Incr Tcl Design Patterns]: [http://bodhost.com/web-hosting/index.php/2006/12/25/tool-command-language/%|%dead link%|%]: [Graph theory in Tcl]: [Searching A Star in Space]: [http://avc.inrim.it/%|%AVC%|%]: A multi-platform, fully automatic, live connection among graphical interface widgets and application variables for the python language. <> Tutorial