| DIS | dis | -> | var arg_1 ... arg_n | Macro application |
| | | (dis_1, ... ,dis_n) | Tuple, n >= 0 | ||
| | | Cons arg_1 ... arg_n | Constructor, n >= 0 | ||
| | | Cons { field_1 = arg_1 , ... , field_n = arg_n } | Named fields, n >= 1 | ||
| | | <var/var> arg_1 ... arg_n | User-defined functions, n >= 1 | ||
| | | %%Var cv | Base DIS | ||
| | | declare cexp cv in dis | Type-cast DIS | ||
| Argument | arg | -> | dis | |
| | | cv | |||
| Variable / C Expression | cv | -> | cexp | |
| | | var | Variable bound in %dis |