[Richard Suchenwirth] 1999-07-21 -- I have proposed to use a style of Tcl more closer to natural English (so-called "sugared Tcl", see [Salt and Sugar]) for the control layer of complex software systems. A Tcl-controlled application really gets efficient when running compiled C code. Registering such a compiled command with Tcl, for example the trivial C function ====== int foo_add (int a, int b) {return (a+b);} ====== would lead to a Tcl command to be called like ====== set c [foo_add $a $b] ====== with the typical dollars and brackets. "Sugaring", as understood here, would mean another layer around it: ====== proc foo:add {_a and _b to _c} { upvar $_a a $_b b $_c c set c [foo_add $a $b] } ====== which admittedly is not very close to natural language, but finally allows calling ====== foo:add a and b to c ====== or even, for [COBOL] lovers (sugar arguments may be any string you want) ====== foo:add a to b giving c ====== The cost of such cosmetics is one more level in the call stack, loss of flexibility (you may not place integer constants, or function calls, at the upvared positions), wasted time and wasted bytes. Is it really wasted? If we want a self-documenting configuration language but do NOT use Tcl, what then? ---- ---- *** Appendix Section*** ---- [gold] 10/11/2020. Added appendix below, but original source code above was unchanged. ---- *** References *** ---- * [upvar sugar] * [Salt and Sugar] * [Math sugar] * [A little math language] * [args] * [RS] * [LV] * [Radical Language Modification] * [Functional Programming] * [Custom curry] * [Playing with recursion] * [Sample Math Programs] * Professor Frisby's Mostly Adequate Guide to Functional Programming [https://github.com/MostlyAdequate/mostly-adequate-guide] * [expr shorthand for Tcl9] * [Steps towards functional programming] * [Tacit programming] * The fortran call statement appeared in Fortran2 (1958). example of call exit, fortran 4 * Thocp code, http://www.thocp.net/software/languages/fortran.htm * [Natural User Interface] * [Natural Languages] category * [Game kingdom of strategy] * wikipedia.org wiki The_Sumerian_Game * [A Program That Learns] * [Find all words] * [Things German] * [How to synthesize a query] * [Writing Tk programs so that the user can extend or interact with them without modifying the application] * [Ruslish] * [Accumulator Generators] * [Accumulator Generator] * [Whadjasay] * disassemble TCL byte code [https://www.magicsplat.com/blog/disassemble/] * [Call Procedure Like Fortran Example] ---- **Hidden Comments Section** ---- <> Please place any comments here, Thanks. <> Numerical Analysis | Toys | Calculator | Mathematics| Example| Toys and Games | Games | Application <> Development | Concept| Algorithm | AI | Natural Language