12 research outputs found
On stratified regions
Type and effect systems are a tool to analyse statically the behaviour of
programs with effects. We present a proof based on the so called reducibility
candidates that a suitable stratification of the type and effect system entails
the termination of the typable programs. The proof technique covers a simply
typed, multi-threaded, call-by-value lambda-calculus, equipped with a variety
of scheduling (preemptive, cooperative) and interaction mechanisms (references,
channels, signals)
A decompilation of the pi-calculus and its application to termination
We study the correspondence between a concurrent lambda-calculus in
administrative, continuation passing style and a pi-calculus and we derive a
termination result for the latter
An Elementary Affine λ-Calculus with Multithreading and Side Effects
International audienceLinear logic provides a framework to control the complexity of higher-order functional programs. We present an extension of this framework to programs with multithreading and side effects focusing on the case of elementary time. Our main contributions are as follows. First, we introduce a modal call-by-value λ-calculus with multithreading and side effects. Second, we provide a combinatorial proof of termination in elementary time for the language. Third, we introduce an elementary affine type system that guarantees the standard subject reduction and progress properties. Finally, we illustrate the programming of iterative functions with side effects in the presented formalism
Indexed realizability for bounded-time programming with references and type fixpoints
The field of implicit complexity has recently produced several
bounded-complexity programming languages. This kind of language allows to
implement exactly the functions belonging to a certain complexity class. We
here present a realizability semantics for a higher-order functional language
based on a fragment of linear logic called LAL which characterizes the
complexity class PTIME. This language features recursive types and higher-order
store. Our realizability is based on biorthogonality, step-indexing and is
moreover quantitative. This last feature enables us not only to derive a
semantical proof of termination, but also to give bounds on the number of
computational steps needed by typed programs to terminate
An affine-intuitionistic system of types and effects: confluence and termination
We present an affine-intuitionistic system of types and effects which can be regarded as an extension of Barber-Plotkin Dual Intuitionistic Linear Logic to multi-threaded programs with effects. In the system, dynamically generated values such as references or channels are abstracted into a finite set of regions. We introduce a discipline of region usage that entails the confluence (and hence determinacy) of the typable programs. Further, we show that a discipline of region stratification guarantees termination
An affine-intuitionistic system of types and effects: confluence and termination
We present an affine-intuitionistic system of types and effects which can be regarded as an extension of Barber-Plotkin Dual Intuitionistic Linear Logic to multi-threaded programs with effects. In the system, dynamically generated values such as references or channels are abstracted into a finite set of regions. We introduce a discipline of region usage that entails the confluence (and hence determinacy) of the typable programs. Further, we show that a discipline of region stratification guarantees termination
An Elementary affine λ-calculus with multithreading and side effects (extended version)
Linear logic provides a framework to control the complexity of higher-order functional programs. We present an extension of this framework to programs with multithreading and side effects focusing on the case of elementary time. Our main contributions are as follows. First, we provide a new combinatorial proof of termination in elementary time for the functional case. Second, we develop an extension of the approach to a call-by-value -calculus with multithreading and side effects. Third, we introduce an elementary affine type system that guarantees the standard subject reduction and progress properties. Finally, we illustrate the programming of iterative functions with side effects in the presented formalism
Causal computational complexity of distributed processes
This article studies the complexity of π-calculus processes with respect to the quantity of transitions caused by an incoming message. First, we propose a typing system for integrating Bellantoni and Cook's characterisation of polytime computable functions into Deng and Sangiorgi's typing system for termination. We then define computational complexity of distributed messages based on Degano and Priami's causal semantics, which identifies the dependency between interleaved transitions. Next, we apply a necessary syntactic flow analysis to typable processes to ensure a computational bound on the number of distributed messages. We prove that our analysis is decidable; sound in the sense that it guarantees that the total number of messages causally dependent of an input request received from the outside is bounded by a polynomial of the content of this request; and complete, meaning that each polynomial recursive function can be computed by a typable process