TRAC(2) Language Fundamentals
TRAC is an interpretive, recursive, string-based, macroprocessing language with no compile step. There are up to now three versions of TRAC(2) recognized by the TRAC Foundation.
The language employs a single data type, strings of eight bit byte, or octet, characters. String storage is dynamic, with continuous garbage collection. Strings may be of any length within the capacity of the allocated memory. Strings are treated interchangeably as both data and executable expressions.
Actions in TRAC are commanded by primitive expressions in a mathematical function form. Expressions are executed from inside to outside, from left to right. After execution, each primitive is replaced by the value string resulting from its execution, giving TRAC its recursive structure.
TRAC language is highly interactive, and entire subroutines can be inserted, or deleted, from a running procedure, thus massively changing the behavior during runtime. TRAC macros can call other macros, generate and define new macros, or delete other macros, with no limit to the depth of calls.
TRAC language arithmetic is decimal and integer only, and the number representation is by digit strings. From this base, other numeric types can be constructed by means of TRAC language procedures. TRAC provides procedures to display and manipulate eight bit octets of data.
Example TRAC Code
The following is a TRAC T84 script to compute Fibonacci numbers.
To use this
script to compute the nth Fibonacci number (where n is a
|Last Updated on August 26, 2002||For suggestions please mail the editors|
Footnotes & References
|1||Copyright © 2000 by The TRAC Foundation, Inc. republished courtesy of the TRAC foundation.|
|2||TRAC is a trademark of the TRAC Foundation, Inc.|