Manufacturer: Scriptics Corporation
Price: $1000 US per named user
Reviewer: Daniel Lazenby
TclPro is a collection of tools that should make your Tcl/Tk programming life a little easier. This tool suite includes four related tools: debugger, checker, wrapper and compiler. Some tools are graphical, and others are command line. Two TclPro-specific interpreters, prowish and protclsh, are also included. These four tools provide several valuable services.
The first tool is a Tcl compiler. The current release of Tcl compiles source code before execution. With TclPro, one can compile source code independent of execution. This gives you the ability to distribute your programs in a compiled format. Not all of the Tcl source can be compiled with TclPro v1.1; items which cannot be compiled independent of execution will be compiled when executed. A procedure that takes a script as an argument is an example of something that cannot be compiled before execution.
Distributing a Tcl/Tk program to non-Tcl platforms requires the distribution of several Tcl/Tk files and libraries besides the application's Tcl script. With the TclPro Wrapper, you can bundle all of the various files into one statically or dynamically wrapped file. Wrapping a Tcl application statically creates a stand-alone bundle of tclsh and all related Tcl libraries and application files. I wrapped a simple 1820-byte file and in return received a file almost 1.67MB in size. Programs prepared in this manner can be loaded and run on platforms without regard to the installed Tcl version.
Wrapping an application dynamically will reduce the application's size. The same dynamically wrapped 1820-byte file produced an output file of about 107.5KB. There is a cost for this smaller footprint. Dynamically wrapped applications require the target platform's Tcl installation to be compatible with the Tcl release of your application. Both non-compiled and compiled Tcl files may be fed to the TclPro Wrapper.
Each new version of software presents some new functions or features. Sometimes a little backward compatibility is lost among those new features and functions. I am notorious for dropping a semicolon or curly brace in my code. TclPro Checker addresses these and several other programming issues. It can detect parsing and syntax errors. Four types of warnings are provided by TclPro Checker. There are warnings about platform portability of the code, performance-optimization opportunities for code segments, potentially incorrect command usage, and warnings about changes in syntax conventions between older and newer Tcl versions. The output of TclPro Checker streams across the screen. You may want to page the output or redirect it to a file.
Figure 1. TclPro Debugger Screen
The fourth tool is a graphical debugger with a trick up its sleeve. Figure 1 shows how information is presented in the three panels. The upper-left panel presents the stack. Variables and their values are presented in the upper-right panel. Code being debugged is displayed in the lower panel. A toolbar provides the means of stepping in, through, around and over procedures and related code.
TclPro Debugger's other useful feature is remote debugging. With this tool, you can actually debug a Tcl/Tk program residing on another platform. Don't get too excited just yet. You cannot randomly select any remote file to debug. Some prep work is required before files can be debugged remotely. Three commands with arguments must be entered into the remote file. Only after doing this can you debug them remotely.
The message here is not that I had an installation problem. It is about the timeliness and accuracy of Scriptics e-mail support staff. They knew me only as another person who was having a problem installing their fully-functioning download product for evaluation on a Caldera OpenLinux (COL) v1.3 Linux platform.
Installation materials and the Scriptics web site said TclPro was known to install and function properly on Solaris, HP and Irix UNIX flavors. SuSE 5.3+ and Red Hat 5.0+ were the only two Intel Linux distributions listed as known to support TclPro. The instructions said TclPro should work on other Linux distributions, providing they used glibc2. Having just upgraded my platform to COL v1.3 with glibc, I could not see any reason why TclPro should not run on my platform.
After verifying libc's installation and reading all of the available README and INSTALL.TXT files, I tried my first TclPro install. It failed. I repeated the install and verified my steps and the displayed error messages. I contacted Scriptics Support with the symptoms and error messages. The next business day, I received a response requesting some additional information, a basic explanation of the install process and a couple of things to try. Later in the day, I sent Scriptics Support the requested information. I received a response the next business day. The folks at Scriptics quickly spotted that COL v1.3 appended a dot (.) to the end of TclPro's CD-ROM file names. This dot was appended only to file names that did not already contain an extension. I did not have a solution, yet I knew what the problem was and knew an answer was being sought. Another business day passed and I received a workaround for my COL v1.3 installation. Using the workaround, the TclPro1.1 installation went flawlessly.
I was set up to use KDE. My screen resolution is such that the entire install dialog boxes did not appear on the screen. Resizing the dialog boxes under KDE prevented access to the dialog box buttons. I suggest using the X Window System for product installation. With X Windows, you can move portions of the dialog box off the screen to see the various buttons.