Costs and semantics in parallel languages

Gaétan Hains

We observe that parallel algorithmics requires a special point of view on programming languages and that specific language support for it should exist.

We then ask whether there exists a general theory of parallel languages distinct from sequential and concurrent languages. Such a theory would constitute a platform for the design of general-purpose parallel languages. The introduction of higher- order user-defined functions makes it hard to characterise what a parallel language should be. This is because the standard semantics of functional languages is not fully abstract.

Our work (with Loulergue, Mullins and Charloton) on functional parallel programming with concrete data structures is introduced as a small step towards resolving the tension between denotational and operational views of parallel programs.

More general observations lead us to call for an integration of semi-ring theory with domain theory with the following problem in mind. Semi-rings are distributive and non-sequential domains are not. The semi-ring cost operations need not coincide with the information order operations; but for the sake of parallel languages they should somehow interact. The open question is how.