&| What | '''Ticol''' |& &| Where | http://ticol.kerys.co.uk |& &| Description | A hobby Tcl interpreter originally based on [Picol]. |& &| Platforms | Windows NT 4.0 SP6a ReactOS 0.4.14+ to Server 2012. 32 and 64 bit |& &| Updated | January 2022 |& &| License | Proprietary non-commercial |& &| Contact | See website |& &| Support | None |& '''Recent Changes of this page and other news''' * '''30 Jan 2022''' New build has been released with amendments and bugfixes. See [http://ticol.kerys.co.uk/downloads/] '''Features''' * Released as an EXE binary and linkable DLL version (ANSI only) * Sample Windows GUI and command-line stub test interfaces linking to the DLL version * Example C++ code to link dynamically to the DLL version * Extensive help file at about 900+ pages, command-line help. HTML and Windows CHM file versions * Small footprint portable binary at about 250kb (compressed) with no external dependencies * Supports {*}, dynamic linking to external DLLs, double-dereferencing * Single-step debugging, execution profiling/graphing * C-like Macro Preprocessor language with static expression simplification and basic syntax checking * Password protected file obfuscation and localised execution locking via TCX files * Can obfuscate via execution unlock, input password, username, hostname, MAC address or Windows version * Built-in MD5 script verification for security use with obfuscated files * Flow constructs include: while, loop, goto_block, sub, switch, for, foreach, on, try/catch, catch, time * Supports Tcl lists, arrays, dictionary, basic structs, linked lists, C-like arrays, stacks * Provides an experimental pseudo-assembler language plugin (TicASM) * Offers a range of about 40 add-in plugin DLL modules * ANSI art viewer plugin, CScript (VBScript), DHCP, DNS, ARP, drive-mapping and big number plugins * Zip plugin, SMTP email, SQLite, DBase and Ticol DB plugins, event logging, CPU query, FTP etc. * HASP and RLM utility plugins * argc, argv handling which is supported via source, load, run and command-line * Emulated namespaces * Offers autoexec.tcl startup script support * Configurable via startup INI file with command-locking/restrictions * Designed to support Windows HTTP webserver CGI use * Standard error handling, stepping into the debugger if enabled. Offers halt/resume commands * Introspection via assert, #NDEBUG, walk, array walk, dump, trace, watch, vars, info, debug print * About 350 unit tests * Tested on a variety of legacy platforms including NT4/SP6a, Win2k, XP, Windows 7, Windows 10, Server 2012 * Aims to work on recent builds of ReactOS (0.4.14 passes all unit tests including plugins) * Was designed with IT Department use in mind and was used in an IT department for several years '''Disadvantages''' * Sorry, ANSI only. Unicode, non-Roman languages are not supported * No Linux or DOS versions. A cut-down legacy DOS version is mooted * Is updated whenever I find time. This is a fun/hobby project only * Unit tests need expanding * A few features are incomplete * 32-bit release only * No multi-threading * No built-in socket support, but some TCP/IP and network support available via plugins * Not recommended for production use (yet) * No support! (Sorry, I just don't have time) [ticol-reactos.png] <> Language | Tcl Implementations