An introduction to the Tcl programming language

Write your email below if you want to be notified when
the printed copy of Tclwise will be available for purchase.
Email address:
How to buy a printed copy of Tclwise
What you see in this site is a draft of Tclwise, the real book will be available in a printed version and will contain nearly 30 chapters, at a very reasonable price. If you want to receive a notice when the printed version will be available, please write your email address in the form you can find at the top-right corner of this page.

The chapters available for free on this site will be constantly updated to be in sync with the printed version of this book, and some more free chapters will be added. The goal of this site is not only to advertise Tclwise, but to provide a service to the Tcl comunity through the free part of this book that can be used as an introduction to the Tcl programming languages for everyone willing to learn it. If you want to help, put a link to this site in your programming related web site.

The following is a list of the topics that are missing on this site but that will be included in the printed version of the book (a few will be included in this site for free also):
  • Error handling
  • Building abstractions with Tcl lists
  • Arrays
  • Dictionaries
  • Math and expressions
  • Advanced string matching and regular expressions
  • Files and channels
  • Event driven programming
  • Network programming with Tcl
  • Time related commands
  • Working with binary data
  • Namespaces
  • Buliding libraries
  • Introspection
  • Functional programming with Tcl
  • The unknown command and radical language modifications
  • Writing fast code
  • Web programming with Tcl
  • Using Mysql
  • Tcl Interpreters and safe interpreters
  • Object oriented programming
  • Writing hping3 scripts
  • Programming the Eggdrop with Tcl scripts
  • A Tk tutorial
  • Appendix: Tcl programming pearls (commented beutiful fragments of code)
  • Appendix: The endecalogue
  • Appendix: A framework for source level transformations

Other Tcl/Tk books
2.1 Anatomy of a command
2.2 Grouping
2.3 Program structure
2.4 Substitution of commands
2.5 Substitution of variables
2.6 More on interpolation
2.8 That's it
3.1 User defined procedures
3.2 The if command
4.1 Tcl list
4.2 The foreach command
4.3 The lrange command
4.4 The lappend command
4.5 The lset command
4.6 The lsort command
4.7 List values against variable names
5.1 The append command
5.2 The string command
5.3 string range
5.4 string index
5.5 string equal
5.6 string compare
5.7 string match
5.8 string map
5.9 string is
5.10 More string subcommands
5.11 Advanced string matching
6.1 Converting strings to lists
6.2 From strings to list of chars
6.3 Converting lists to strings
6.4 Manipulating strings as lists
7.1 Local variables
7.2 Top level
7.3 Global variables
7.4 Procedures arguments and pass by value
7.5 Procedures with a variable number of arguments
7.6 Procedures with default arguments
7.7 Recursion
7.8 Recursion limit
8.1 The switch command
8.2 The for command
8.3 break and continue
8.4 The lack of goto
9.1 Programs executing programs: the eval command
9.2 Breaking the rules with uplevel
9.3 Passing variable names to procedures
9.4 Mapping scripts to lists
9.5 The rename command
9.6 Expanding lists into arguments in Tcl 8.5
Additional 20 chapters in the printed version.

Author Home
Tclers Wiki

Copyright 2004 Salvatore Sanfilippo. All rights reserved.
This online book is for personal use only.
It cannot be copied to other web sites or further distributed in any form.