More actions
Triple scripts are written to use parametric capabilities, leading to programs written to target an abstract system interface, rather than directly making use of platform-specific affordances exposed by the host environment. Note that it is this abstraction which is crucial to the homologous nature of triple scripts, allowing them to run both in the universal application runtime (possibly even with a graphical UI, at the author's discretion) or directly in the terminal.
Kernighan and Plauger write in Software Tools in Pascal:
We deal with portability by specifying a small set of primitive operations for accessing the environment. All of our programs are written in terms of these primitives, so operating system dependencies are confined to a handful of procedures and functions. Programs that use them can move to any system where the primitives can be implemented.
We are less concerned with the classic practice of porting, at least with respect to porting existing triple scripts to other "systems". While authoring triple scripts, we are chiefly interested in designing a sufficient abstraction that will permit triple scripts to run on the universal runtime (i.e. Web browsers) and work without changes on other runtimes that allow users to run the same programs within their preferred terminal emulator at their convenience.
The first section in the LineChecker walkthrough serves as an example of how to think about the program to be implemented and decompose it in such a way that an abstract system interface can be contrived that allows the flavor of portability characteristic of triple scripts.