ACM Home Page
Please provide us with feedback. Feedback
Thorn: robust concurrent scripting on the JVM
Full text PdfPdf (324 KB)
Source
Conference on Object Oriented Programming Systems Languages and Applications archive
Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications table of contents
Orlando, Florida, USA
DEMONSTRATION SESSION: Demonstrations table of contents
Pages 789-790  
Year of Publication: 2009
ISBN:978-1-60558-768-4
Authors
Bard Bloom  IBM Research, Hawthorne, NY, USA
John Field  IBM Research, Hawthorne, NY, USA
Nathaniel Nystrom  University of Texas at Arlington & IBM Research
Johan Östlund  Purdue University, West Lafayette, IN, USA
Gregor Richards  Purdue University, West Lafayette, IN, USA
Rok Strniša  University of Cambridge
Jan Vitek  Purdue University, West Lafayette, IN, USA
Tobias Wrigstad  Stockholm University & Purdue University
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 11,   Citation Count: 0
Additional Information:

abstract   index terms  

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

ABSTRACT

Scripting languages enjoy great popularity due to their support for rapid and exploratory development. They typically have lightweight syntax, weak data privacy, dynamic typing, powerful aggregate data types, and allow execution of the completed parts of incomplete programs. The price of these features comes later in the software life cycle. Scripts are hard to evolve and compose, and often slow. An additional weakness of most scripting languages is lack of support for concurrency - though concurrency is required for scalability and interacting with remote services. This paper reports on the design and implementation of Thorn, a novel programming language targeting the JVM. Our principal contributions are a careful selection of features that support the evolution of scripts into industrial grade programs e.g., an expressive module system, an optional type annotation facility for declarations, and support for concurrency based on message passing between lightweight, isolated processes. On the implementation side, Thorn has been designed to accommodate the evolution of the language itself through a compiler plugin mechanism and target the Java virtual machine.