I've had a better look at the TCL language and it looks a lot better than
I thought originally. (He says, taking his foot out of his mouth. :-) )
- It is easily available off the shelf. While I have written interpreters
in the past I fully appreciate not having to go through it again.
Well, for my purposes I'll probably have to write the interpreter from
scratch, even if the publicly available one was the bees-knees in terms
of portability and embedibility. My requirements for embedded interpreters
are a lot stricter than most people's:
(a) It can't take over the machine when running a script. It must
periodcally return back to the Windows event loop to allow other
things (maybe even other language interpreters embedded in the
same program) to execute. Note: this is different to having the
script call the event loop periodically for Tk programs.
"Returning back" changes the code structure quite a bit from
"calling out".
(b) It must be able to run more than one script at a time, each
in its own separate "address space". (And, no cheating with
"fork" because Windows 3.x has no such animal).
If the standard TCL interpreter does this, then I want to shake Docter
Ousterhout's hand, because he is the only Unix programmer in the world
that I know of that goes to this much trouble.
- It is very portable having been ported into many non-Unix environments.
The only problem with the portability is that Dr. Ousterhout hasn't folded
those changes into the mainstream code.
Portability to Windows is a whole new ball game.
- Has a fairly straightforward and readable syntax.
Yep.
- Makes a good choice, and was designed to be, an embedded configuration or
command language. If your application is to have one the same TCL
interpreter
code can serve as both the Safe-TCL as well as the embedded command language.
This has actually changed my anti-TCL stand a bit, because I do need a
command language for other programs of mine, and if Safe-TCL can be whipped
up "over the weekend" so to speak, it may fill the bill.
I'll shut up now and do some coding experiments.
Cheers,
Rhys.