Extending resource-bounded functional programming languages with mutable state and concurrency

##plugins.themes.bootstrap3.article.main##

Stephen Gilmore
Kenneth MacKenzie
Nicholas Wolverson

Abstract

Camelot is a resource-bounded functional programming language which compiles to Java byte code to run on the Java Virtual Machine. We extend Camelot to include language support for Camelot-level threads which are compiled to native Java threads. We extend the existing Camelot resource-bounded type system to provide safety guarantees about the heap usage of Camelot threads. We demonstrate the usefulness of our concurrency extensions to the language by implementing a multi-threaded graphical network chat application which could not have been expressed as naturally in the sequential, object-free sublanguage of Camelot which was previously available.

##plugins.themes.bootstrap3.article.details##

Section
Special Issue