| Extending the Haskell foreign function interface with concurrency |
| Full text |
Pdf
(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
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 8, Downloads (12 Months): 44, Citation Count: 4
|
|
|
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
|
Lennart Augustsson , Thomas Johnsson, Parallel graph reduction with the (v , G)-machine, Proceedings of the fourth international conference on Functional programming languages and computer architecture, p.202-213, September 11-13, 1989, Imperial College, London, United Kingdom
[doi> 10.1145/99370.99386]
|
| |
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
|
Simon Peyton Jones , Andrew Gordon , Sigbjorn Finne, Concurrent Haskell, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.295-308, January 21-24, 1996, St. Petersburg Beach, Florida, United States
[doi> 10.1145/237721.237794]
|
CITED BY 4
|
|
|
|
|
|
|
|
Paul Hudak , John Hughes , Simon Peyton Jones , Philip Wadler, A history of Haskell: being lazy with class, Proceedings of the third ACM SIGPLAN conference on History of programming languages, p.12-1-12-55, June 09-10, 2007, San Diego, California
|
|
|
|
|