.call
The .call directive takes input of a directive name and some arguments to pass to it.
It returns a call to the specified directive with the arguments given.
For example, one could call .echo with three arguments like so---
.call{echo}{Hello}{world}{how are you?}
Which is implicitly translated by the .call to---
.echo{Hello}{world}{how are you?}
As the name of the directive is required, note that the . which precedes directive calls is omitted, so .echo above becomes just echo.
Example - Specifying an error function
The following code could be used to change the severity of an error condition based on a user’s preference. That the user inputs a number is assumed for brevity.
!err_severity <- .readline
!err_func <- .case{!err_severity}{echo}{warn}{error}
...
.call{!err_func}: Something went wrong!