next up previous
Next: Multidimensional arrays as functions Up: Monoid homomorphisms and comprehensions Previous: Monoid comprehensions


The monoid comprehension calculus

We are now in a position to propose a programming calculus using monoid comprehensions. Figure 1 defines an abstract grammar for an expression $ e$ of the Monoid Comprehension Calculus and amounts to adding comprehensions to an extended Typed Polymorphic $ \lambda $-Calculus. Figure 2 gives the typing rules for this calculus.

Figure 1: The monoid comprehension calculus
\begin{figure}\begin{center}
\fbox{$\begin{array}{rrll}
e & ::= & \bot & \mbox{n...
...\!]\;Q\}}& \mbox{monoid comprehension} \\
\end{array}$}\end{center}\end{figure}

Figure 2: Typing rules for the Monoid Comprehension Calculus
\begin{figure}\begin{center}
\fbox{\begin{tabular}{rl}
\par
$\displaystyle\frac{...
...plus\{e_1\;[\!]\;e_2,Q\}}: \tau }$&
\par
\end{tabular}}\end{center}\end{figure}



Hassan Ait Kaci 2002-03-27