In this class, we use mathematical notation for sequences, sets and tables (mappings) in the code that will be given in class and in the lecture notes. The notation has a natural translation to our SML library. Here is the translation for sequences.
| Sequence Notation | Equivalent SML with SEQUENCElibrary | 
| \[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) | 
| \[\langle p \in S \;|\; e \rangle\] | filter (fn p => e) S | 
| \[\langle e_1 : p \in S \;|\; e_2\rangle\] | map (fn p => e1) (filter (fn p => e2) S) | 
| \[\langle e : p_1 \in S_1,\; p_2 \in S_2 \rangle\] | flatten(map (fn p1 => map (fn p2 => e) S2) S1) | 
| \[\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). Also the $\sum$ can be replaced with $\min$, $\max$, $\cup$ and
    $\cap$ with the presumed meanings. For example \[\bigcup_{p \in S} e\]
    translates to: reduce Set.union Set.empty (map (fn p => e) S).
A listing that includes sets and tables can be found here.