CLIST (Command List) is a procedural programming language for MVS/TSO systems.

In it's basic form a CLIST is just a simple list of commands to be executed in strict sequence (like a DOS batch (*.bat) file).

CLIST also can read/write MVS files, read/write to a TSO terminal and has normal IF/ELSE DO/END block constructs. It can read parameters from the caller and there is also a function to hold global variables and pass them from one CLIST to another. A CLIST can also call an MVS application program (written in COBOL or PL/1, for example).

A CLIST can also be run as a batch program (by running JCL which executes the TSO control program (IKJEFT01). TSO menus using ISPF dialog services can be written in CLIST. You should also compare the function of CLIST with that provided by REXX.

Example program:

PROC 0
WRITE HELLO WORLD!