CLIST (Command List) (pronounced "C-List") is a
procedural
Procedural may refer to:
* Procedural generation, a term used in computer graphics applications
*Procedural knowledge, the knowledge exercised in the performance of some task
* Procedural law, a legal concept
*Procedural memory, a cognitive scienc ...
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
for
TSO in
MVS systems. It originated in
OS/360 Release 20 and has assumed a secondary role since the availability of
Rexx in TSO/E Version 2. The term CLIST is also used for command lists written by users of
NetView.
In its basic form, a CLIST program (or "CLIST" for short) can take the form of a simple list of
commands
Command may refer to:
Computing
* Command (computing), a statement in a computer language
* COMMAND.COM, the default operating system shell and command-line interpreter for DOS
* Command key, a modifier key on Apple Macintosh computer keyboards
* ...
to be executed in strict sequence (like a
DOS batch file (*.bat) file). However, CLIST also features If-Then-Else logic as well as loop constructs.
CLIST is an
interpreted language. That is, the computer must translate a CLIST every time the program is executed. CLISTs therefore tend to be slower than programs written in
compiled languages such as
COBOL,
FORTRAN, or
PL/1. (A program written in a compiled language is translated once to create a "load module" or
executable.)
CLIST can read/write MVS files and read/write from/to a TSO terminal. It can read parameters from the caller and also features a function to hold global variables and pass them between CLISTs. A CLIST can also call an MVS application program (written in
COBOL or
PL/I, for example). CLISTs can be run in background (by running
JCL which executes the TSO control program (IKJEFT01)). TSO I/O screens and menus using
ISPF dialog services can be displayed by CLISTs.
Compare the function of CLIST with that provided by
REXX.
Example programs
PROC 0
WRITE HELLO WORLD!
Adding If-Then-Else logic:
/********************************************************************/
/* MULTI-LINGUAL "HELLO WORLD" PROGRAM. */
/* */
/* THIS CLIST, STORED AS USERID.TSO.CLIST(TEST), CAN BE INVOKED */
/* FROM THE ISPF COMMAND LINE AS SHOWN IN THE FOLLOWING EXAMPLE: */
/* */
/* COMMAND > TSO TEST SPANISH */
/* */
/********************************************************************/
PROC 1 LANGUAGE
IF &LANGUAGE = SPANISH THEN +
WRITE HOLA, MUNDO
ELSE IF &LANGUAGE = FRENCH THEN +
WRITE BONJOUR, MONDE
ELSE +
WRITE HELLO, WORLD
EXIT
See also
*
Rexx
Footnotes
References
IBM mainframe operating systems
Procedural programming languages
Command shells
Text-oriented programming languages
Scripting languages
{{mainframe-compu-stub