Next: , Previous: , Up: Top   [Contents]


7 Tcl/Tk Notes

library(tcltk) is built on top of Tcl/Tk. It is an optional component of SICStus and you can safely ignore this section if you do not intend to use library(tcltk).

Tcl/Tk itself is not included in the SICStus distribution. It must be installed in order to use the interface. Many operating systems have build-in support for Tcl/Tk, either preinstalled or available via some software update utility. If a default version is not available, then Tcl/Tk can be downloaded from the Tcl/Tk primary website:

https://www.tcl.tk/

A better alternative may be to use one of the free installers available from:

https://www.activestate.com

SICStus for Mac OS X uses the Tcl/Tk that comes with Mac OS X. Some versions of Tcl/Tk provided by Apple have bugs that may cause SICStus Prolog to crash when using library(tcltk). If this happens, then you can try to update to a newer version of Tcl/Tk, e.g. by using the installers from https://www.activestate.com/. Tcl/Tk is also easy to build from source.

Starting with release 4.7, library(tcltk) is built in a way that does not depend on the version of Tcl/Tk that will be available at runtime. As an example, even though library(tcltk) on macOS is built with the Apple default version of Tcl/TK (8.5), it will automatically start using a newer version, e.g Tcl/Tk 8.6, if the new version is installed in one of the default locations.

Please note: On Windows, you need to have the Tcl/Tk binaries accessible from your PATH environment variable, e.g. C:\Program Files\Tcl\bin.

The GUI version of SICStus, spwin, like all Windows non-console applications, lacks the C standard streams (stdin, stdout, stderr) and the Tcl command puts and others that use these streams will therefore give errors. The solution is to use sicstus instead of spwin if the standard streams are required.



Send feedback on this subject.