Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
TACL (programming language)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Design philosophy== {{cleanup section | reason = conversational tone, passing references to language features not familiar to non-TACL users, wandering structure, incomplete examples, lack of comparison & contrast to similar job control languages|date=December 2021}} Many high-uptime computer systems that were produced after the Tandem NonStop platform rely on a pair of concurrently running, parallel but independent processes. A "failover" scheme ensures that the secondary process (or hot backup) continues operating in the event of a failure in the primary process, thereby ensuring that any failure in the primary process does not result in a total failure of the function, network or system it supports. The Tandem NonStop design philosophy differs as each CPU performs its own work and may contain a dormant "backup" process in another CPU. Each pair of CPUs share hardware ownership of controllers and disk drives. Writes to the mirrored disk pair are performed on both the primary and backup drives. However, the drives are not truly [[Redundancy (engineering)|redundant]] as reads will only be performed by the drive that can most quickly access the data, not both. If one CPU in the pair fails, the other will take full ownership of the disk drives and tasks it was undertaking, providing continuous availability to that data and continuous operation of the system, including re-driving disk I/Os. A running primary process may be given a backup process in another CPU, which receives checkpoint information. If the primary process fails, the backup process resumes the transaction using the checkpoint information. The backup process may also spawn its own backup to avoid data loss in case there are further failures. The name "NonStop" refers to this fault-tolerant design. HPE NonStop systems can support operations involving high transactions-per-second and are therefore used in critical applications such as banking, stock trading platforms and telecommunications systems. Upon the NonStop OS platform there are at least two programming languages—[[Transaction Application Language|TAL]] (Transaction Application Language) as the compiled language, and TACL as the interpreted language. NonStop OS software includes compilers for other languages (including [[Java (programming language)|Java]], C, [[C++]], [[COBOL]], SCOBOL, etc.), which may be used to support functions in languages other than TAL/TACL if required. TACL remains as the default scripting language on these machines. HPE later introduced a [[KornShell|ksh]]-based shell command interface, however this does not contain every capability offered by TACL such as the netstat command. TACL built-ins reflect the multi-CPU nature of NSK. TACL instructions can be stored in a simple text file as MACROS, ROUTINES, or DEFINES which the TACL interpreter can execute as scripts.<ref>{{Cite book |title=TAL Programmer's Guide |publisher=Tandem Computers, Incorporated |year=1993 |location=Cupertino, California |at=Appendix E |language=en-us}}</ref> Such scripts are often used to store complex configuration instructions such as start-up and hardware configuration sequences. TACL is also used as a [[Job Control Language|job control language]] for batch jobs. The TACL language has a large number of built-in utilities which allow the user to capture and parse output from various system utilities. 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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)