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{...
...lus\{e_1\;[\!]\;e_2,Q\}} : \tau}$ &
\par \end{tabular}}\end{center}\end{figure}



Hassan Ait-Kaci
2001-10-22