|
ABSTRACT
We describe an extension of Visual Basic 9.0 with asynchronous concurrency constructs - join patterns - based on the join calculus. Our design of Concurrent Basic (CB) builds on earlier work on Polyphonic C# and Comega. Since that work, the need for language-integrated concurrency has only grown, both due to the arrival of commodity, multi-core hardware, and the trend for Rich Internet Applications that rely on asynchronous client-server communication to hide latency. Unlike its predecessors, CB adopts an event-like syntax that should be familiar to existing VB programmers. Coupled with Generics, CB allows one to declare re-useable concurrency abstractions that were clumsy to express previously. CB removes its ancestors' inconvenient inheritance restriction, while providing new extensibility points useful in practical applications that must co-exist with or want to exploit alternative threading models available on the platform. CB is implemented as an extension of the production VB 9.0 compiler.
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
|
|
| |
2
|
N. Benton. Jingle bells: Solving the Santa Claus problem in Polyphonic C#, http://research.microsoft.com/ nick/santa.pdf, March 2003.
|
| |
3
|
|
 |
4
|
|
 |
5
|
|
| |
6
|
Cédric Fournet , Georges Gonthier, The Join Calculus: A Language for Distributed Mobile Programming, Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures, p.268-332, September 09-15, 2000
|
| |
7
|
C. Fournet, F. Le Fessant, L. Maranget, and A. Schmitt. JoCaml: a language for concurrent distributed and mobile programming. In Advanced Functional Programming, 4th International School, Oxford, August 2002, volume 2638 of LNCS. Springer-Verlag, 2003.
|
| |
8
|
G. S. Itzstein and D. Kearney. Join Java: An alternative concurrency semantics for Java. Technical Report ACRC-01-001, University of South Australia, 2001.
|
| |
9
|
Microsoft Corporation. Language-Integrated Query (LINQ), http://msdn2.microsoft.com/en-us/library/bb397926(VS.90).aspx, 2007.
|
| |
10
|
Microsoft Corporation. Microsoft Parallel Extensions Framework, http://msdn2.microsoft.com/en-us/concurrency/default.aspx, 2007.
|
| |
11
|
Microsoft Corporation. Visual Basic Language Specification 9.0 (beta 2), available from http://www.microsoft.com/downloads, 2007.
|
| |
12
|
Microsoft Research. Cω, http://research.microsoft.com/Comega, 2004.
|
| |
13
|
M. Odersky. An overview of functional nets. In APPSEM Summer School, Caminha, Portugal, September 2000, volume 2395 of LNCS. Springer-Verlag, 2002.
|
| |
14
|
C. Russo. The Joins Concurrency Library. In Michael Hanus, editor, Ninth International Symposium on Practical Aspects of Declarative Languages (PADL 2007), volume 4354 of LNCS, pages 260--274. Springer-Verlag, January 2007.
|
| |
15
|
C. V. Russo. Joins: A Concurrency Library, 2006. Binaries with tutorial and samples: http://research.microsoft.com/research/downloads.
|
|