12,636 research outputs found
Full Abstraction for the Resource Lambda Calculus with Tests, through Taylor Expansion
We study the semantics of a resource-sensitive extension of the lambda
calculus in a canonical reflexive object of a category of sets and relations, a
relational version of Scott's original model of the pure lambda calculus. This
calculus is related to Boudol's resource calculus and is derived from Ehrhard
and Regnier's differential extension of Linear Logic and of the lambda
calculus. We extend it with new constructions, to be understood as implementing
a very simple exception mechanism, and with a "must" parallel composition.
These new operations allow to associate a context of this calculus with any
point of the model and to prove full abstraction for the finite sub-calculus
where ordinary lambda calculus application is not allowed. The result is then
extended to the full calculus by means of a Taylor Expansion formula. As an
intermediate result we prove that the exception mechanism is not essential in
the finite sub-calculus
Acute: high-level programming language design for distributed computation
Existing languages provide good support for typeful programming of standalone programs. In a distributed system, however, there may be interaction between multiple instances of many distinct programs, sharing some (but not necessarily all) of their module structure, and with some instances rebuilt with new versions of certain modules as time goes on. In this paper we discuss programming language support for such systems, focussing on their typing and naming issues. We describe an experimental language, Acute, which extends an ML core to support distributed development, deployment, and execution, allowing type-safe interaction between separately-built programs. The main features are: (1) type-safe marshalling of arbitrary values; (2) type names that are generated (freshly and by hashing) to ensure that type equality tests suffice to protect the invariants of abstract types, across the entire distributed system; (3) expression-level names generated to ensure that name equality tests suffice for type-safety of associated values, e.g. values carried on named channels; (4) controlled dynamic rebinding of marshalled values to local resources; and (5) thunkification of threads and mutexes to support computation mobility. These features are a large part of what is needed for typeful distributed programming. They are a relatively lightweight extension of ML, should be efficiently implementable, and are expressive enough to enable a wide variety of distributed infrastructure layers to be written as simple library code above the byte-string network and persistent store APIs. This disentangles the language runtime from communication intricacies. This paper highlights the main design choices in Acute. It is supported by a full language definition (of typing, compilation, and operational semantics), by a prototype implementation, and by example distribution libraries
Call-by-value non-determinism in a linear logic type discipline
We consider the call-by-value lambda-calculus extended with a may-convergent
non-deterministic choice and a must-convergent parallel composition. Inspired
by recent works on the relational semantics of linear logic and non-idempotent
intersection types, we endow this calculus with a type system based on the
so-called Girard's second translation of intuitionistic logic into linear
logic. We prove that a term is typable if and only if it is converging, and
that its typing tree carries enough information to give a bound on the length
of its lazy call-by-value reduction. Moreover, when the typing tree is minimal,
such a bound becomes the exact length of the reduction
Taylor expansion for Call-By-Push-Value
The connection between the Call-By-Push-Value lambda-calculus introduced by Levy and Linear Logic introduced by Girard has been widely explored through a denotational view reflecting the precise ruling of resources in this language. We take a further step in this direction and apply Taylor expansion introduced by Ehrhard and Regnier. We define a resource lambda-calculus in whose terms can be used to approximate terms of Call-By-Push-Value. We show that this approximation is coherent with reduction and with the translations of Call-By-Name and Call-By-Value strategies into Call-By-Push-Value
Resource modalities in game semantics
The description of resources in game semantics has never achieved the
simplicity and precision of linear logic, because of a misleading conception:
the belief that linear logic is more primitive than game semantics. We advocate
instead the contrary: that game semantics is conceptually more primitive than
linear logic. Starting from this revised point of view, we design a categorical
model of resources in game semantics, and construct an arena game model where
the usual notion of bracketing is extended to multi- bracketing in order to
capture various resource policies: linear, affine and exponential
A Lambda Term Representation Inspired by Linear Ordered Logic
We introduce a new nameless representation of lambda terms inspired by
ordered logic. At a lambda abstraction, number and relative position of all
occurrences of the bound variable are stored, and application carries the
additional information where to cut the variable context into function and
argument part. This way, complete information about free variable occurrence is
available at each subterm without requiring a traversal, and environments can
be kept exact such that they only assign values to variables that actually
occur in the associated term. Our approach avoids space leaks in interpreters
that build function closures.
In this article, we prove correctness of the new representation and present
an experimental evaluation of its performance in a proof checker for the
Edinburgh Logical Framework.
Keywords: representation of binders, explicit substitutions, ordered
contexts, space leaks, Logical Framework.Comment: In Proceedings LFMTP 2011, arXiv:1110.668
On the discriminating power of tests in resource lambda-calculus
Since its discovery, differential linear logic (DLL) inspired numerous
domains. In denotational semantics, categorical models of DLL are now commune,
and the simplest one is Rel, the category of sets and relations. In proof
theory this naturally gave birth to differential proof nets that are full and
complete for DLL. In turn, these tools can naturally be translated to their
intuitionistic counterpart. By taking the co-Kleisly category associated to the
! comonad, Rel becomes MRel, a model of the \Lcalcul that contains a notion of
differentiation. Proof nets can be used naturally to extend the \Lcalcul into
the lambda calculus with resources, a calculus that contains notions of
linearity and differentiations. Of course MRel is a model of the \Lcalcul with
resources, and it has been proved adequate, but is it fully abstract? That was
a strong conjecture of Bucciarelli, Carraro, Ehrhard and Manzonetto. However,
in this paper we exhibit a counter-example. Moreover, to give more intuition on
the essence of the counter-example and to look for more generality, we will use
an extension of the resource \Lcalcul also introduced by Bucciarelli et al for
which \Minf is fully abstract, the tests
- …