Back to Search
Start Over
Lolliproc
- Source :
- ICFP
- Publication Year :
- 2010
- Publisher :
- Association for Computing Machinery (ACM), 2010.
-
Abstract
- While many type systems based on the intuitionistic fragment of linear logic have been proposed, applications in programming languages of the full power of linear logic - including double-negation elimination - have remained elusive. Meanwhile, linearity has been used in many type systems for concurrent programs - e.g., session types - which suggests applicability to the problems of concurrent programming, but the ways in which linearity has interacted with concurrency primitives in lambda calculi have remained somewhat ad-hoc. In this paper we connect classical linear logic and concurrent functional programming in the language Lolliproc, which provides simple primitives for concurrency that have a direct logical interpretation and that combine to provide the functionality of session types. Lolliproc features a simple process calculus "under the hood" but hides the machinery of processes from programmers. We illustrate Lolliproc by example and prove soundness, strong normalization, and confluence results, which, among other things, guarantees freedom from deadlocks and race conditions.
- Subjects :
- Soundness
Concurrent constraint logic programming
Functional programming
Computer science
Programming language
Concurrency
Process calculus
computer.software_genre
Computer Graphics and Computer-Aided Design
Linear logic
Curry–Howard correspondence
Concurrent object-oriented programming
TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES
Confluence
Concurrent computing
computer
Algorithm
Logic programming
Software
Subjects
Details
- ISSN :
- 15581160 and 03621340
- Volume :
- 45
- Database :
- OpenAIRE
- Journal :
- ACM SIGPLAN Notices
- Accession number :
- edsair.doi.dedup.....452b9fb2b693aadc1cda4344ca7e1a37