<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Transaction_Application_Language</id>
	<title>Transaction Application Language - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Transaction_Application_Language"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Transaction_Application_Language&amp;action=history"/>
	<updated>2026-05-06T17:56:08Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Transaction_Application_Language&amp;diff=1172927&amp;oldid=prev</id>
		<title>imported&gt;Countercheck: light copyedit</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Transaction_Application_Language&amp;diff=1172927&amp;oldid=prev"/>
		<updated>2024-09-16T23:03:49Z</updated>

		<summary type="html">&lt;p&gt;light copyedit&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{short description|Procedural computer language also known as TAL}}&lt;br /&gt;
{{infobox programming language&lt;br /&gt;
| name = Transaction Programming Language (TAL)&lt;br /&gt;
| paradigm = Block-structured procedural language&lt;br /&gt;
| released = mid 1970s&lt;br /&gt;
| developer = Hewlett-Packard Enterprise (originally Tandem Computers)&lt;br /&gt;
| dialects = TAL, pTAL, epTAL&lt;br /&gt;
| influenced by = ALGOL, Pascal, C&lt;br /&gt;
| platform = MIPS, Itanium, [[x86-64]]&lt;br /&gt;
| operating system = NonStop OS&lt;br /&gt;
| license = [[Proprietary software|Proprietary]] [[commercial software]]&lt;br /&gt;
| File format = unstructured, Enscribe, NonStop SQL/MP, NonStop SQL/MX&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Transaction Application Language&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;TAL&amp;#039;&amp;#039;&amp;#039; (originally &amp;quot;Tandem Application Language&amp;quot;) is a block-structured,&amp;lt;ref&amp;gt;{{Cite book |title=TAL Programmer&amp;#039;s Guide |publisher=Tandem Computers, Incorporated |location=Cupertino, California |publication-date=1993 |pages=xxv |language=en-us}}&amp;lt;/ref&amp;gt; procedural language optimized for use on [[Tandem Computers|Tandem]] (and later HP NonStop) hardware. TAL resembles a cross between [[C (programming language)|C]] and [[Pascal programming language|Pascal]]. It was the original [[system programming language]] for the Tandem Computers [[Complex instruction set computer|CISC]] machines, which had no [[assembly language#Assembler|assembler]].&amp;lt;ref&amp;gt;{{Cite web |title=Transaction Application Language from FOLDOC |url=http://foldoc.org/TAL |access-date=2023-07-04 |website=foldoc.org |language=en-us}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The design concept of TAL, an evolution of [[Hewlett-Packard]]&amp;#039;s [[System Programming Language|SPL]], was intimately associated and optimized with a [[Microcode|microprogrammed]] CISC instruction set. Each TAL statement could easily compile into a sequence of instructions that manipulated data on a transient floating register stack. The register stack itself floated at the crest of the program&amp;#039;s [[call stack|memory allocation and call stack]].&lt;br /&gt;
&lt;br /&gt;
The language itself has the appearance of [[ALGOL]] or [[Pascal (programming language)|Pascal]], with BEGIN and END statements. However, its semantics are far more like [[C (programming language)|C]]. It does not permit indefinite levels of procedure nesting, it does not pass complex structured arguments by value, and it does not strictly type most variable references. Programming techniques are much like C using pointers to structures, occasional overlays, deliberate string handling and casts when appropriate.&lt;br /&gt;
&lt;br /&gt;
Available datatypes include 8-bit, 16-bit, 32-bit and (introduced later) 64-bit integers.&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;{{Cite book |url=http://nonstoptools.com/manuals/Tal-Guide.pdf |title=TAL Programmer&amp;#039;s Guide |publisher=Tandem Computers, Incorporated |year=1993 |location=Cupertino, California |at=Chapter 1, pages 1, 2 |language=en-us |access-date=July 4, 2023}}&amp;lt;/ref&amp;gt; Microcode level support was available for null terminated character strings. However, this is not commonly used.&lt;br /&gt;
&lt;br /&gt;
Originally the Tandem [[NonStop (server computers)|NonStop operating system]] was written in TAL. Much of it has since been rewritten in C and TAL has been deprecated for new development.&lt;br /&gt;
&lt;br /&gt;
In the migration from CISC to RISC, TAL was updated/replaced with pTAL – compilers allowed TAL to be re-compiled into Native RISC Applications. Later, the epTAL compiler was introduced for Itanium processors.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Enscribe]]&lt;br /&gt;
* [[NonStop SQL]]&lt;br /&gt;
* [[NonStop (server computers)]]&lt;br /&gt;
* [[TACL (programming language)|TACL]] (Tandem Advanced Command Language)&lt;br /&gt;
* [[Tandem Computers]]&lt;br /&gt;
* [[List of compilers]] for a partial list of NonStop compilers&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
==Further reading==&lt;br /&gt;
* [http://nonstoptools.com/manuals/Tal-Guide.pdf TAL Programmer&amp;#039;s Guide]&lt;br /&gt;
* [https://www.hpe.com/info/nonstop NonStop Computing Home]&amp;amp;nbsp;– main Nonstop Computing page at Hewlett Packard Enterprise&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems programming languages]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Countercheck</name></author>
	</entry>
</feed>