Journal of Logic and Computation · 2012 · 10 citations · 18 references
ComputingComputer ScienceFormal MethodsMessage PassingProgramming LanguagesData TypesData-flow AnalysisInterprocess CommunicationSynchronization PrimitivesType CheckingType SystemsAbstract SemanticsAffine TypesChannel AllocationChannelsConcurrency SemanticsExpressivenessRuntime Resource ManagementSynchronization Semantics
We view channels as the main form of resources in a message-passing programming paradigm. These channels need to be carefully managed in settings where resources are scarce. To study this problem, we extend the pi-calculus with primitives for channel allocation and deallocation and allow channels to be reused to communicate values of different types. Inevitably, the added expressiveness increases the possibilities for runtime errors. We define a substructural type system, which combines uniqueness typing and affine typing to reject these ill-behaved programs.
18
A calculus of mobile processes, I
Robin Milner, Joachim Parrow, David Walker · Information and Computation · 1992 · 2.8K citations · Full text
A calculus of mobile processes, II
Robin Milner, Joachim Parrow, David Walker · Information and Computation · 1992 · 1.7K citations · Full text
Multiparty asynchronous session types
Kohei Honda, Nobuko Yoshida, Marco Carbone · 2008 · 659 citations · Full text
Linear Types can Change the World
Philip Wadler · 1990 · 389 citations
Checking interference with fractional permissions
2003 · 388 citations