Updated 2015-03-24 15:11:56 by dbohdan

Rush is a language derived from Tcl and was presented at the 1993 Tcl/Tk Workshop and the 1994 Tcl/Tk Workshop. Here is more information: http://number-none.com/blow/papers/rush_tcl94.pdf

The abstract of the paper says:

Rush is a new language that looks and feels much like Tcl [?]; we offer a compiler that executes scripts a hundred times faster than Tcl 7.x, allowing programs to run at speeds close to their C-language counterparts. Rush incorporates many features from Tcl and contains new features. From Tcl, Rush acquires its syntax, everything is a string model, set of core commands and datatypes, scoping rules, C callout facility, and support for popular libraries, including Tk and Tcl-DP. New features in Rush include pass-by-reference, first class closures and production rules. A generalization of operator syntax allows users to code in either command-style or operator-style syntax; a converter program provides a translation between the two forms. We introduce the language as a set of changes to Tcl, with a focus on performance issues and discussion of new features.

Does anyone use this today (2005)??

dbohdan 2014-11-10: Curiously, judging by the URL one of the authors of the paper on Rush is the same Jonathan Blow who went on to develop the programming language Lerp and the video game Braid. You can see a hint of Tcl's influence in Lerp.

dbohdan 2014-12-26: I've contacted Adam Sah and Jonathan Blow and according to them the source code to Rush has been lost. Rush has interesting ideas that warrant reimplementation. Although it is almost certainly too divergent to become the basis for [Tcl 9] if you're interested in Tcl 9 you should give it a look.

See also edit

kbk commented in the chat: yes, Rush and Tc was one branch that led to the Tcl_Obj. IceTcl (from Forest Rouse and Wayne Christopher) was another significant influence. Brian Lewis did a lot of the design of the Tcl_Obj system that finally was integrated.

dbohdan 2015-03-24: This is probably the paper kbk refers to in that quote: https://www.usenix.org/legacy/publications/library/proceedings/tcl95/rouse.html.