[Wolf Wejgaard] I am an old Forth hand, who turned to Tcl because Tcl offers features that have not been available in Forth. I like Tcl and have used it for more than four years now. However, I still prefer Forth syntax and have finally implemented HolonT, which lets me create Tcl programs in Forth. HolonT is a variation of the Holon IDE [http://wiki.tcl.tk/19639] with an intrinsic Forth to Tcl compiler. A HolonT Forth program is converted to Tcl source files. With HolonT you have the Tcl universe available from Forth, if you feel like. Why Forth? Forth and Tcl are quite similar programming languages, both consist of commands ('words' in Forth) that perform their own business. The interpreter parses the command/word from the source string and passes control to it. The fundamental difference is the notation: Tcl is written in prefix, Forth is written in postfix notation. This has a remarkable consequence for the number of rules that you have to consider. Postfix notation reduces the Tcl [dodekalogue] to a Forth hexalogue [http://holonforth.com/new/tcl/rules.html] Some say that Forth code is unreadable; in my experience Forth is as readable as you care to make it, at least as readable as Tcl code. If you want to check this out: I have rewritten Richard Suchenwirth's [Chess in Tcl] in HolonTForth [http://holonforth.com/new/tcl/chess.html], both as a reality test of HolonT and for a comparison of the Tcl and Forth sources of the same application. Note that I use the parameter stack in Forth mainly for argument passing and rarely as a temporary data store and thus avoid the infamous stack juggling you may have seen in Forth programs. HolonTForth is meant to handle data in local variables. You can use the stack operators (DUP SWAP ROT OVER ...) if you insist - they are available - but you don't have to. Moreover HolonTForth puts an objecttype layer around the Tcl variables. Every type (variable, string, etc.) has private messages and methods. HolonT is available at http://holonforth.com/new/tcl/holont.html packed for Windows, OS-X and Linux. ---- !!!!!! %| [Category Dev. Tools] |% !!!!!!