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 |