Results 1  10
of
17
The πCalculus in Direct Style
, 1997
"... We introduce a calculus which is a direct extension of both the and the π calculi. We give a simple type system for it, that encompasses both Curry's type inference for the calculus, and Milner's sorting for the πcalculus as particular cases of typing. We observe that the various continuation pas ..."
Abstract

Cited by 64 (2 self)
 Add to MetaCart
We introduce a calculus which is a direct extension of both the and the π calculi. We give a simple type system for it, that encompasses both Curry's type inference for the calculus, and Milner's sorting for the πcalculus as particular cases of typing. We observe that the various continuation passing style transformations for terms, written in our calculus, actually correspond to encodings already given by Milner and others for evaluation strategies of terms into the πcalculus. Furthermore, the associated sortings correspond to wellknown double negation translations on types. Finally we provide an adequate cps transform from our calculus to the πcalculus. This shows that the latter may be regarded as an "assembly language", while our calculus seems to provide a better programming notation for higherorder concurrency.
Some lambda calculus and type theory formalized
 Journal of Automated Reasoning
, 1999
"... Abstract. We survey a substantial body of knowledge about lambda calculus and Pure Type Systems, formally developed in a constructive type theory using the LEGO proof system. On lambda calculus, we work up to an abstract, simplified, proof of standardization for beta reduction, that does not mention ..."
Abstract

Cited by 53 (7 self)
 Add to MetaCart
Abstract. We survey a substantial body of knowledge about lambda calculus and Pure Type Systems, formally developed in a constructive type theory using the LEGO proof system. On lambda calculus, we work up to an abstract, simplified, proof of standardization for beta reduction, that does not mention redex positions or residuals. Then we outline the meta theory of Pure Type Systems, leading to the strengthening lemma. One novelty is our use of named variables for the formalization. Along the way we point out what we feel has been learned about general issues of formalizing mathematics, emphasizing the search for formal definitions that are convenient for formal proof and convincingly represent the intended informal concepts.
Classical Logic, Continuation Semantics and Abstract Machines
, 1998
"... Machines Th. STREICHER Fachbereich 4 Mathematik, TU Darmstadt, Schlossgartenstr. 7, 64289 Darmstadt, streiche@mathematik.thdarmstadt.de B. REUS Institut fur Informatik, LudwigMaximiliansUniversitat, Oettingenstr. 67, D80538 Munchen, reus@informatik.unimuenchen.de Abstract One of the ..."
Abstract

Cited by 52 (4 self)
 Add to MetaCart
Machines Th. STREICHER Fachbereich 4 Mathematik, TU Darmstadt, Schlossgartenstr. 7, 64289 Darmstadt, streiche@mathematik.thdarmstadt.de B. REUS Institut fur Informatik, LudwigMaximiliansUniversitat, Oettingenstr. 67, D80538 Munchen, reus@informatik.unimuenchen.de Abstract One of the goals of this paper is to demonstrate that denotational semantics is useful for operational issues like implementation of functional languages by abstract machines. This is exemplified in a tutorial way by studying the case of extensional untyped callbyname calculus with Felleisen's control operator C. We derive the transition rules for an abstract machine from a continuation semantics which appears as a generalization of the ::translation known from logic. The resulting abstract machine appears as an extension of Krivine's Machine implementing head reduction. Though the result, namely Krivine's Machine, is well known our method of deriving it from continuation semantics is new and applicable to other languages (as e.g. callbyvalue variants).
Asynchrony and the PiCalculus
, 1992
"... We introduce an asynchronous version of Milner's ßcalculus, based on the idea that the messages are elementary processes that can be sent without any sequencing constraint. We show that this simple message passing discipline, together with the restriction construct making a name private for an agen ..."
Abstract

Cited by 25 (0 self)
 Add to MetaCart
We introduce an asynchronous version of Milner's ßcalculus, based on the idea that the messages are elementary processes that can be sent without any sequencing constraint. We show that this simple message passing discipline, together with the restriction construct making a name private for an agent, is enough to encode the synchronous communication of the ßcalculus. 1. Introduction. The purpose of this note is to introduce an asynchronous variant of the ßcalculus of Milner, Parrow and Walker [8]. The ßcalculus is an extension of CCS, based on previous work by Engberg and Nielsen [5], that deals with name passing: in this calculus, agents pass channel names to other agents through named channels. The expressiveness of this link passing discipline has been demonstrated in [8] by a series of examples. Later on, Milner showed in [9] that even a restricted fragment of the original ßcalculus is enough to encode the calculus. More precisely, he showed that one can mimic in a "mini" ß...
Lazy rewriting on eager machinery
 ACM Transactions on Programming Languages and Systems
, 2000
"... The article introduces a novel notion of lazy rewriting. By annotating argument positions as lazy, redundant rewrite steps are avoided, and the termination behaviour of a term rewriting system can be improved. Some transformations of rewrite rules enable an implementation using the same primitives a ..."
Abstract

Cited by 23 (1 self)
 Add to MetaCart
The article introduces a novel notion of lazy rewriting. By annotating argument positions as lazy, redundant rewrite steps are avoided, and the termination behaviour of a term rewriting system can be improved. Some transformations of rewrite rules enable an implementation using the same primitives as an implementation of eager rewriting. 1
Isolating Side Effects in Sequential Languages
 In Proceedings of the 22nd ACM SIGPLANSIGACT Symposium on Principles of Programming Languages (POPL’95
, 1995
"... It is well known that adding side effects to functional languages changes the operational equivalences of the language. We develop a new language construct, encap, that forces imperative pieces of code to behave purely functionally, i.e., without any visible side effects. The coercion operator enca ..."
Abstract

Cited by 19 (2 self)
 Add to MetaCart
It is well known that adding side effects to functional languages changes the operational equivalences of the language. We develop a new language construct, encap, that forces imperative pieces of code to behave purely functionally, i.e., without any visible side effects. The coercion operator encap provides a means of extending the simple reasoning principles for equivalences of code in a functional language to a language with side effects. In earlier work [36], similar coercion operators were developed, but their correctness required the underlying functional language to include parallel operations. The coercion operators developed here are simpler and are proven correct for purely sequential languages. The sequential setting requires the construction of fully abstract models for sequential callbyvalue languages and the formulation of a weak form of "monad" suitable for expressing the semantics of callbyvalue languages with side effects. 1 Introduction Two pieces of code are...
Axioms for Recursion in CallbyValue
 HIGHERORDER AND SYMBOLIC COMPUT
, 2001
"... We propose an axiomatization of fixpoint operators in typed callbyvalue programming languages, and give its justifications in two ways. First, it is shown to be sound and complete for the notion of uniform Tfixpoint operators of Simpson and Plotkin. Second, the axioms precisely account for Filins ..."
Abstract

Cited by 11 (5 self)
 Add to MetaCart
We propose an axiomatization of fixpoint operators in typed callbyvalue programming languages, and give its justifications in two ways. First, it is shown to be sound and complete for the notion of uniform Tfixpoint operators of Simpson and Plotkin. Second, the axioms precisely account for Filinski's fixpoint operator derived from an iterator (infinite loop constructor) in the presence of firstclass continuations, provided that we define the uniformity principle on such an iterator via a notion of effectfreeness (centrality). We then explain how these two results are related in terms of the underlying categorical structures.
The Nondeterministic Catch and Throw Mechanism and Its Subject Reduction Property
, 1994
"... A simple programming language and its typing system is introduced to capture the catch and throw mechanism with its nondeterministic feature. The subject reduction property of the system, which compensates for the unpleasant feature of the nondeterminism, is shown. ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
A simple programming language and its typing system is introduced to capture the catch and throw mechanism with its nondeterministic feature. The subject reduction property of the system, which compensates for the unpleasant feature of the nondeterminism, is shown.
A Polymorphic Language which is Typable and Polystep
 In Proceedings of the Asian Computing Science Conference (ASIAN'98), Lecture
, 1998
"... . A functional language LA is given. A subset T LA of LA is automatically typable. The types are formulas of Intuitionistic Light Ane Logic with polymorphism a la ML. Every term of T LA can reduce to its normal form in, at most, polysteps. T LA can be used as a prototype of programming lang ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
. A functional language LA is given. A subset T LA of LA is automatically typable. The types are formulas of Intuitionistic Light Ane Logic with polymorphism a la ML. Every term of T LA can reduce to its normal form in, at most, polysteps. T LA can be used as a prototype of programming language for PTIME algorithms. 1 Introduction In [3], Girard introduced Light Linear Logic which captures PTIME. This means that the cutelimination process of Light Linear Logic terminates in polynomial time with respect to the dimension of any given derivation, and, vice versa, all PTIME Turing machines can be encoded as datatypes in Light Linear Logic. Girard left as an open problem to nd a concrete syntax for ILLL, namely for Intuitionistic Light Linear Logic. This paper introduces an untyped functional language LA which has a typable subset T LA . The types for T LA are formulas of ILLL with a polymorphism a la ML. The types can be inferred automatically. Before introdu...