MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Promises: linguistic support for efficient asynchronous procedure calls in distributed systems
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
I-structures: data structures for parallel computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
The family of concurrent logic programming languages
ACM Computing Surveys (CSUR)
The semantic foundations of concurrent constraint programming
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
The reflexive CHAM and the join-calculus
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Concurrent programming in ML
Efficient logic variables for distributed computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Pict: a programming language based on the Pi-Calculus
Proof, language, and interaction
ML with Concurrency
JELIA '96 Proceedings of the European Workshop on Logics in Artificial Intelligence
PLILPS '95 Proceedings of the 7th International Symposium on Programming Languages: Implementations, Logics and Programs
Implicit Typing à la ML for the Join-Calculus
CONCUR '97 Proceedings of the 8th International Conference on Concurrency Theory
Jocaml: Mobile Agents for Objective-Caml
ASAMA '99 Proceedings of the First International Symposium on Agent Systems and Applications Third International Symposium on Mobile Agents
The incremental garbage collection of processes
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
Uniform confluence in concurrent computation
Journal of Functional Programming
The semantics of future and an application
Journal of Functional Programming
The call-by-need lambda calculus
Journal of Functional Programming
The call-by-need lambda calculus
Journal of Functional Programming
A concurrent lambda calculus with futures
Theoretical Computer Science - Applied semantics
Initializing Mutually Referential Abstract Objects: The Value Recursion Challenge
Electronic Notes in Theoretical Computer Science (ENTCS)
Generic Pickling and Minimization
Electronic Notes in Theoretical Computer Science (ENTCS)
Disjunctive constraint lambda calculi
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Hi-index | 0.00 |
We introduce a new concurrent lambda calculus with futures, λ(fut), to model the operational semantics of Alice, a concurrent extension of ML. λ(fut) is a minimalist extension of the call-by-value λ-calculus that yields the full expressiveness to define, combine, and implement a variety of standard concurrency constructs such as channels, semaphores, and ports. We present a linear type system for λ(fut) by which the safety of such definitions and their combinations can be proved: Well-typed implementations cannot be corrupted in any well-typed context.