Results 1  10
of
3,291
Featherweight Java: A Minimal Core Calculus for Java and GJ
 ACM Transactions on Programming Languages and Systems
, 1999
"... Several recent studies have introduced lightweight versions of Java: reduced languages in which complex features like threads and reflection are dropped to enable rigorous arguments about key properties such as type safety. We carry this process a step further, omitting almost all features of the fu ..."
Abstract

Cited by 659 (23 self)
 Add to MetaCart
of the full language (including interfaces and even assignment) to obtain a small calculus, Featherweight Java, for which rigorous proofs are not only possible but easy. Featherweight Java bears a similar relation to Java as the lambdacalculus does to languages such as ML and Haskell. It offers a similar
Logical foundations of objectoriented and framebased languages
 JOURNAL OF THE ACM
, 1995
"... We propose a novel formalism, called Frame Logic (abbr., Flogic), that accounts in a clean and declarative fashion for most of the structural aspects of objectoriented and framebased languages. These features include object identity, complex objects, inheritance, polymorphic types, query methods, ..."
Abstract

Cited by 876 (65 self)
 Add to MetaCart
, encapsulation, and others. In a sense, Flogic stands in the same relationship to the objectoriented paradigm as classical predicate calculus stands to relational programming. Flogic has a modeltheoretic semantics and a sound and complete resolutionbased proof theory. A small number of fundamental concepts
A callbyname lambdacalculus machine
 Higher Order and Symbolic Computation
"... We present, in this paper, a particularly simple lazy machine which runs programs written in λcalculus. It was introduced by the present writer more than twenty years ago. It has been, since, used and implemented ..."
Abstract

Cited by 44 (0 self)
 Add to MetaCart
We present, in this paper, a particularly simple lazy machine which runs programs written in λcalculus. It was introduced by the present writer more than twenty years ago. It has been, since, used and implemented
CallByName, CallByValue and Time
"... Abstract. We build denotational models for the callbyname and callbyvalue versions of a simply typed lambda calculus with recursion, and show that they are adequate: the denotation of a closed term of base type represents exactly the number of reduction steps. We achieve this in a very generic wa ..."
Abstract
 Add to MetaCart
Abstract. We build denotational models for the callbyname and callbyvalue versions of a simply typed lambda calculus with recursion, and show that they are adequate: the denotation of a closed term of base type represents exactly the number of reduction steps. We achieve this in a very generic
Callbyvalue isn’t dual to callbyname, callbyname is dual to callbyvalue!
, 2004
"... Gentzen’s sequent calculus for classical logic shows great symmetry: for example, the rule introducing ∧ on the left of a sequent is mirror symmetric to the introduction rule for the dual operator ∨ on the right of a sequent. A consequence of this casual observation is that when Γ ⊢ ∆ is a theorem o ..."
Abstract
 Add to MetaCart
Gentzen’s sequent calculus for classical logic shows great symmetry: for example, the rule introducing ∧ on the left of a sequent is mirror symmetric to the introduction rule for the dual operator ∨ on the right of a sequent. A consequence of this casual observation is that when Γ ⊢ ∆ is a theorem
On the Semantics of the CallbyName CPS Transform
"... Sangiorgi has shown that the semantics induced by Milner's encoding of the callbyname calculus in the ßcalculus is the equality of L#vyLongo trees. Later it was realized that Milner's encodings are actually variations on wellknown continuation passing style transforms. Then a questi ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Sangiorgi has shown that the semantics induced by Milner's encoding of the callbyname calculus in the ßcalculus is the equality of L#vyLongo trees. Later it was realized that Milner's encodings are actually variations on wellknown continuation passing style transforms. Then a
Semantics of linear continuationpassing in callbyname
 In Proc. Functional and Logic Programming, Springer Lecture Notes in Comput. Sci
, 2004
"... Abstract. We propose a semantic framework for modelling the linear usage of continuations in typed callbyname programming languages. On the semantic side, we introduce a construction for categories of linear continuations, which gives rise to cartesian closed categories with “linear classical disj ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
Abstract. We propose a semantic framework for modelling the linear usage of continuations in typed callbyname programming languages. On the semantic side, we introduce a construction for categories of linear continuations, which gives rise to cartesian closed categories with “linear classical
CallbyName, CallbyValue, CallbyNeed, and the Linear Lambda Calculus
, 1994
"... Girard described two translations of intuitionistic logic into linear logic, one where A > B maps to (!A) o B, and another where it maps to !(A o B). We detail the action of these translations on terms, and show that the first corresponds to a callbyname calculus, while the second correspond ..."
Abstract

Cited by 39 (6 self)
 Add to MetaCart
Girard described two translations of intuitionistic logic into linear logic, one where A > B maps to (!A) o B, and another where it maps to !(A o B). We detail the action of these translations on terms, and show that the first corresponds to a callbyname calculus, while the second
A General Storage Theorem for Integers in CallByName λCalculus
, 1993
"... The notion of storage operator introduced in [5, 6] appears to be an important tool in the study of data types in second order λcalculus. These operators are λterms which simulate callbyvalue in the callbyname strategy, and they can be used in order to modelize assignment instructions. The mai ..."
Abstract

Cited by 22 (5 self)
 Add to MetaCart
The notion of storage operator introduced in [5, 6] appears to be an important tool in the study of data types in second order λcalculus. These operators are λterms which simulate callbyvalue in the callbyname strategy, and they can be used in order to modelize assignment instructions
Callbyvalue is dual to callbyname reloaded
 In Term rewriting and applications. Lecture Notes in Comput. Sci
, 2005
"... Abstract. We consider the relation of the dual calculus of Wadler (2003) to the λµcalculus of Parigot (1992). We give translations from the λµcalculus into the dual calculus and back again. The translations form an equational correspondence as defined by Sabry and Felleisen (1993). In particular, ..."
Abstract

Cited by 14 (0 self)
 Add to MetaCart
Abstract. We consider the relation of the dual calculus of Wadler (2003) to the λµcalculus of Parigot (1992). We give translations from the λµcalculus into the dual calculus and back again. The translations form an equational correspondence as defined by Sabry and Felleisen (1993). In particular
Results 1  10
of
3,291