Results 1 
9 of
9
Pict: A programming language based on the picalculus
 PROOF, LANGUAGE AND INTERACTION: ESSAYS IN HONOUR OF ROBIN MILNER
, 1997
"... The πcalculus offers an attractive basis for concurrent programming. It is small, elegant, and well studied, and supports (via simple encodings) a wide range of highlevel constructs including data structures, higherorder functional programming, concurrent control structures, and objects. Moreover ..."
Abstract

Cited by 254 (8 self)
 Add to MetaCart
The πcalculus offers an attractive basis for concurrent programming. It is small, elegant, and well studied, and supports (via simple encodings) a wide range of highlevel constructs including data structures, higherorder functional programming, concurrent control structures, and objects. Moreover, familiar type systems for the calculus have direct counterparts in the πcalculus, yielding strong, static typing for a highlevel language using the πcalculus as its core. This paper describes Pict, a stronglytyped concurrent programming language constructed in terms of an explicitlytypedcalculus core language.
Decoding Choice Encodings
, 1999
"... We study two encodings of the asynchronous #calculus with inputguarded choice into its choicefree fragment. One encoding is divergencefree, but refines the atomic commitment of choice into gradual commitment. The other preserves atomicity, but introduces divergence. The divergent encoding is ..."
Abstract

Cited by 97 (5 self)
 Add to MetaCart
We study two encodings of the asynchronous #calculus with inputguarded choice into its choicefree fragment. One encoding is divergencefree, but refines the atomic commitment of choice into gradual commitment. The other preserves atomicity, but introduces divergence. The divergent encoding is fully abstract with respect to weak bisimulation, but the more natural divergencefree encoding is not. Instead, we show that it is fully abstract with respect to coupled simulation, a slightly coarserbut still coinductively definedequivalence that does not enforce bisimilarity of internal branching decisions. The correctness proofs for the two choice encodings introduce a novel proof technique exploiting the properties of explicit decodings from translations to source terms.
A logical interpretation of the λcalculus into the πcalculus, preserving spine reduction and types
, 2009
"... ..."
Pict Language Definition
, 1996
"... ions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3.4 Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3.5 Type constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
ions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3.4 Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3.5 Type constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3.6 Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3.7 Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3.8 Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3.9 Kinds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3.10 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4 ExtraLinguistic Features 13 4.1 Separate Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2 Inline C Code . . . . . . . ...
Implicative Logic based encoding of the λcalculus into the πcalculus
, 2010
"... We study an outputbased encoding of the λcalculus with explicit substitution into the synchronous πcalculus – enriched with pairing – that has its origin in mathematical logic, and show that this encoding respects reduction. We will define the notion of (explicit) spine reductionwhich encompasse ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
We study an outputbased encoding of the λcalculus with explicit substitution into the synchronous πcalculus – enriched with pairing – that has its origin in mathematical logic, and show that this encoding respects reduction. We will define the notion of (explicit) spine reductionwhich encompasses (explicit) lazy reduction and show that the encoding fully encodes this reduction in that termsubstitution as well as each single reduction step are modelled up to contextual similarity. We show that all the main properties (soundness, completeness, and adequacy) hold for these four notions of reduction, as well as that termination is preserved. We then define a notion of type assignment for the πcalculus that uses the type constructor→, and show that all Curry types assignable to λterms are preserved by the encoding. Key words: the λcalculus, the πcalculus, intuitionistic logic, classical logic, encoding, type assignment
Applying π: Towards a Basis for Concurrent Imperative Programming
 SIPL
, 1995
"... We study an extension of asynchronous πcalculus where names can be returned from processes. We show that with this simple extension an extensive range of functional, statebased and controlbased programming constructs can be expressed by macro expansions, similar to Churchencodings in lambda calc ..."
Abstract
 Add to MetaCart
We study an extension of asynchronous πcalculus where names can be returned from processes. We show that with this simple extension an extensive range of functional, statebased and controlbased programming constructs can be expressed by macro expansions, similar to Churchencodings in lambda calculus.
A ProcessModel for Linear Programs
"... Abstract. We use ℓinSolos (i.e. a typed process calculus based on the calculus of solos) in order to express computational processes generated by SℓPCF − , namely a simple programming language conceived in order to program only linear functions. We define a faithful translation of SℓPCF − on ℓinSolo ..."
Abstract
 Add to MetaCart
Abstract. We use ℓinSolos (i.e. a typed process calculus based on the calculus of solos) in order to express computational processes generated by SℓPCF − , namely a simple programming language conceived in order to program only linear functions. We define a faithful translation of SℓPCF − on ℓinSolos which make us able to process redexes of SℓPCF − in a parallel way. Afterward, we prove that a suitable observational equivalence between processes is correct w.r.t the operational semantics of SℓPCF − , via our interpretation.