A Tcl extension is a new command written in the implementation language of Tcl and provided via load. Because it has access to the Tcl C API and the structures that implement objects visible at the script level, an extension can extend the feature set of the Tcl interpreter. A procedure, the body of which is simply a script to be evaluated by the interpreter, lacks this capability. An extension is often included in a package, where the pkgIndex.tcl script uses load to load the extension into the interpreter process. An extension may define new actions, new widgets, new processing types, etc.

See Also

Tcl Extension: User Guide
Tcl Extension: Developer Guide
Extensions for Tcl and Tk
Extending Tcl
How to write software that will be implemented as an extension, perhaps in C (or C++ code with extern "C" {} around it).
extension language