| Notation | Equivalent SML with SEQUENCE library |
| \[S[i]\] | nth $S$ $i$ |
| \[|S|\] | length $S$ |
| \[\langle \; \rangle\] | empty () |
| \[\langle v \rangle\] | singleton $v$ |
| \[\langle i, \ldots, j \rangle\] | tabulate (fn k => $i$ + k) ($j$ - $i$ + 1) |
| \[S \langle i, \ldots, j \rangle\] | subseq $S$ ($i$, $j$ - $i$ + 1) |
| \[\langle e : p \in S \rangle\] | map (fn $p$ => $e$) $S$ |
| \[\langle e : 0 \leq i < n \rangle\] | tabulate (fn $i$ => $e$) $n$ |
| \[\langle p \in S \;|\; e \rangle\] | filter (fn $p$ => $e$) $S$ |
| \[\langle e_1 : p \in S \;|\; e_2\rangle\] | map (fn $p$ => $e_1$) (filter (fn $p$ => $e_2$) $S$) |
| \[\langle e : p_1 \in S_1,\; p_2 \in S_2 \rangle\] | flatten (map (fn $p_1$ => map (fn $p_2$ => $e$) $S_2$) $S_1$) |
| \[\langle e : 0 \leq i < n,\; 0 \leq j < i \rangle\] | flatten (tabulate (fn $i$ => tabulate (fn $j$ => $e$) $i$) $n$) |
| \[\sum_{p \in S} e\] | reduce add 0 (map (fn $p$ => $e$) $S$) |
| \[\sum_{i = k}^n e\] | reduce add 0 (map (fn $i$ => $e$) $\langle k, \ldots, n\rangle$) |
The meaning of add and 0 in the
reduce will depend on the type (e.g. Int.+ and
0 for integers or Real.+ and 0.0 for
reals). We can also replace $\sum$ with other operations such as $\min$ and
$\max$ with the implied semantics.