Sunday, January 18, 2009

TACL (the Tandem Advanced Command Language)

TACL (the Tandem Advanced Command Language) is the scripting programming language used in Tandem Computers. Tandem Computers were originally designed and sold by Tandem Computers, Inc., based in Cupertino, CA. Tandem's strategy was the emerging concept of "continuous availability" that relied on redundant hardware and a well engineered operating system (NonStop Kernel or NSK) to ensure continuous application availability by ensuring the system could survive any single point of hardware failure. This underlies their specialty of ultra-reliable communications transaction processing. Tandem was purchased by Compaq Computer Corporation in 1997. Compaq eventually merged with Hewlett Packard.

TACL continues to be the scripting language used on Hewlett Packard NonStop Servers. NonStop servers are key components of the backbone infrastructure of the largest banks, casinos, retailers, telephone companies, email systems and stock exchanges worldwide.

TACL is interpreted. TACL instructions can be stored in a simple text file as MACROS, ROUTINES, or DEFINES to make scripts. Such scripts are often used to store complex configuration instructions such as start-up and hardware configuration sequences.

The TACL language has a large number of Built-in utilities which allow the user to capture output from various system utilities and parse the captured text, line by line or character by character. This allows users to build TACL programs that can monitor system events through the use of filters that monitor the system and application event logs.


Example of a TACL routine saved in the file FILE1:


?Section HELLO_BERNARD ROUTINE

#OUTPUT Hello BERNARD

How to run the TACL routine:

1. From a TACL prompt type: LOAD / KEEP 1 / FILE1 (this loads the routine into memory)

2. Type: HELLO_BERNARD to run the routine

3. Output will be: Hello BERNARD


Or create a file named FILE1 and add the following two lines:

?TACL ROUTINE

#OUTPUT Hello BERNARD !


Execute the routine by naming the file at the tacl prompt:

> RUN FILE1