Calling SOUL $functions
Many of the SOUL $functions can be invoked using a CALL statement instead of assigning the function result to a %variable. For example:
%L = $LISTNEW $LISTADD(%L, 'Once upon a midnight dreary') $LISTADD(%L, 'As I pondered weak and weary') CALL $LIST_PRINT(%L)
You can CALL such $functions and still test for their return code, if necessary. For example:
CALL $LIST_PRINT(%L) IF $LIST_PRINT(%L) THEN ...
"Callability" is an optional approach; it does not replace %variable assignment. The callable $functions are indicated as such on their function page. Typically they are $functions that do more than simply return a value, and the value they return is primarily an indicator of whether the function completed successfully. $ListCnt, for example, is a (non-callable) $function because the function's purpose is to return a list count to the SOUL program.