Distributed Haskell: Goffin on the Internet

Manuel M. T. Chakravarty, Yike Guo, and Martin Köhler

In M. Sato and Y. Toyama, editors, Proceedings of the Third Fuji International Symposium on Functional and Logic Programming, World Scientific Publishers, pp 80-97, 1998. (Extended version of ``On the Co-ordination of Functional Programs for High-Performance Distributed Computers'', which appeared in the Proceedings of 14th Japanese Software Conference. Japan Society for Software Science and Technology, 1997.)

The constraint functional language Goffin extends the purely functional Haskell with combinators from concurrent constraint programming. These combinators constitute a co-ordination sublanguage that allows to partition the overall program into parallel agents and to organize the communication them. The present paper extends Goffin's co-ordination portion with an operator for explicit agent placement as well as with temporal and port constraints. With these extension, special facilities of dedicated processing elements can be exploited, timeouts can be expressed, efficient n-to-m communication becomes possible, and dynamic inter-application communication is supported. We show that the resulting language is sufficiently expressive to cover interesting applications from the domain of distributed computing, and that, in particular, it can be used for Internet programming.

DVI version and PostScript version (10 pages)

This page is part of Manuel Chakravarty's WWW-stuff.