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/