ACM Home Page
Please provide us with feedback. Feedback
Extending the Haskell foreign function interface with concurrency
Full text PdfPdf (102 KB)
Source Haskell archive
Proceedings of the 2004 ACM SIGPLAN workshop on Haskell table of contents
Snowbird, Utah, USA
SESSION: Session I table of contents
Pages: 22 - 32  
Year of Publication: 2004
ISBN:1-58113-850-4
Authors
Simon Marlow  Microsoft Research Ltd., Cambridge, U.K.
Simon Peyton Jones  Microsoft Research Ltd., Cambridge, U.K.
Wolfgang Thaller  Microsoft Research Ltd., Cambridge, U.K.
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 44,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1017472.1017479
What is a DOI?

ABSTRACT

A Haskell system that includes both the Foreign Function Interface and the Concurrent Haskell extension must consider how Concurrent Haskell threads map to external Operating System threads for the purposes of specifying in which thread a foreign call is made.Many concurrent languages take the easy route and specify a one-to-one correspondence between the language's own threads and external OS threads. However, OS threads tend to be expensive, so this choice can limit the performance and scalability of the concurrent language.The main contribution of this paper is a language design that provides a neat solution to this problem, allowing the implementor of the language enough flexibility to provide cheap lightweight threads, while still providing the programmer with control over the mapping between internal threads and external threads where necessary.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
The Glasgow Haskell Compiler. http://www.haskell.org/ghc/.
 
2
The Java language. http://java.sun.com/.
 
3
Next Generation POSIX Threading. http://www-124.ibm.com/pthreads/.
 
4
The O'Caml language. http://www.ocaml.org/.
5
6
 
7
Ulrich Drepper and Ingo Molnar. The Native POSIX Thread Library for linux. Technical report, Redhat, February 2003. http://www.redhat.com/whitepapers/developer/POSIX_Linux_Threading.pdf.
 
8
Manuel Chakravarty (ed.). The Haskell 98 foreign function interface 1.0: An addendum to the Haskell 98 report. http://www.cse.unsw.edu.au/~chak/haskell/ffi/.
 
9
Richard McDougall and Jim Mauro. Solaris Internals. Prentice Hall, 2000.
 
10
Simon Peyton Jones. Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell. In CAR Hoare, M Broy, and R Stein-brueggen, editors, Engineering theories of software construction, Marktoberdorf Summer School 2000, NATO ASI Series, pages 47--96. IOS Press, 2001.
11


Collaborative Colleagues:
Simon Marlow: colleagues
Simon Peyton Jones: colleagues
Wolfgang Thaller: colleagues