Tcl/Tk Starpacks
================
The Tcl [1] interpreters are portable (they run on most Unixes,
including the OS X, on the Windows and even on WinCE or Android - and
there used to be the Tcl interpreter for the Palm OS, too). Even the GUI
interpreter (wish) is portable but not so much (it can run on the
Android but some black magic is necessary and there is no bare-metal
interpreter for Unixes - it require X11).
Anyway, the Tcl/Tk combination might a be a good solution for programs
which have to run on several platforms.
It is possible to pack all the *.tcl sources and the interpreter with
all dependencies to one big platform-specific executable file. In this
way one can make a program for Windows which can be easily distributed
to end users. Such bundle of files is called Starkit and when it
includes an interpreter then it is the Starpack [2].
It is possible to include not only *.tcl files but also images, dynamic
libraries and executable files, if necessary. In my case it was
necessary to include a platform-specific executable. It is a bit more
complicated so I will have to write a full blog post about it in the
future.
The nice thing is that such Starpack can be prepared on any supported
platform [3]. So I only got the Windows interpreter, the Windows binary
file, the *.tcl files and packed them into working Windows executable
on my POWER9 Linux machine (on the Raptor Blackbird, you know). Then I
sent it to my windows-only colleagues for testing. Well, I cheated a
bit because I have installed the ReactOS [4] into the QEMU on the
Blackbird to test the result by myself. It worked here, too.
It there any reader who still uses the Tcl language? (The Python's
Tkinter is the same thing as the Tk int the Tcl/Tk but it does not
count here - I'm curious about any Tcl coders....)
P.S. I probably should search for the Tcl for Palm OS. I actually never
used it. It seems to be at [5]. There is also the PtCon interpreter
which seems to be less powerful but it seems to be easier to use [6].
References:
[1]
http://tcl.tk
[2]
https://wiki.tcl-lang.org/page/Starpack
[3]
https://blog.tcl.tk/8900
[4]
https://reactos.org
[5]
https://palm-tcl.magicsplat.com
[6]
http://ptcon.sourceforge.net/