30 research outputs found

    The call-by-need lambda calculus

    Get PDF

    Separating weakening and contraction in a linear lambda calculus

    Get PDF
    We present a separated-linear lambda calculus based on a refinement of linear logic which allows separate control of weakening and contraction. The calculus satisfies subject reduction and confluence, has a straightforward notion of standard evaluation, and inherits previous results on the relationship of Girard\u27s two translations from minimal intuitionistic logic to linear logic with call-by-name and call-by-value. We construct a hybrid translation from Girard\u27s two which is sound and complete for mapping types, reduction sequences and standard evaluation sequences from call-by-need into separated-linear lambda, a more satisfying treatment of call-by-need than in previous work, which now allows a contrasting of all three reduction strategies in the manner (for example) that the CPS transla- tions allow for call-by-name and call-by-value

    Call-by-name, Call-by-value, Call-by-need, and the Linear Lambda Calculus

    Get PDF
    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 call-by-name calculus, while the second corresponds to call-by-value. We further show that if the target of the translation is taken to be an affine calculus, where ! controls contraction but weakening is allowed everywhere, then the second translation corresponds to a call-by-need calculus, as recently defined by Ariola, Felleisen, Maraist, Odersky, and Wadler. Thus the different calling mechanisms can be explained in terms of logical translations, bringing them into the scope of the Curry-Howard isomorphism

    The call-by-need lambda calculus (unabridged)

    Get PDF
    We present a calculus that captures the operational semantics of call-by-need.We demonstrate that the calculus is confluent and standardizable and entails the same observational equivalences as call-by-name lambda calculus

    Trapping malicious insiders in the SPDR web

    Get PDF
    Abstract The insider threat has assumed increasing importance as our dependence on critical cyber information infrastructure has increased. In this paper we describe an approach for thwarting and attributing insider attacks. The Sense, Prepare, Detect, and React (SPDR

    Dependently-Typed Formalisation of Typed Term Graphs

    Full text link
    We employ the dependently-typed programming language Agda2 to explore formalisation of untyped and typed term graphs directly as set-based graph structures, via the gs-monoidal categories of Corradini and Gadducci, and as nested let-expressions using Pouillard and Pottier's NotSoFresh library of variable-binding abstractions.Comment: In Proceedings TERMGRAPH 2011, arXiv:1102.226

    Finer Control of Weakening and Contraction: Towards a Separated-Linear Lambda Calculus (Summary)

    No full text
    el of the calculi, the corresponding typing rules are the mechanisms by which we introduce the copying or discarding of terms. A term is discarded when it is substituted for a variable which appears only on the left side of a typing judgement, which can occur only as the result of applying a weakening rule; a term is duplicated when it is substituted for a variable which appears more than once on the right side of a typing judgement, which can occur only by a contraction rule. In the substructural lambda calculi I [3], A and L [8], the use of (respectively) weakening, contraction and both are simply banned. These systems are not sufficient here: while we do want to make the use of such rules explicit, we do not want to prohibit them altogether. Instead, we will take as target calculi systems whose type systems are related to logics where the use of the structural rules must be explicitly enabled. In previous work [10], we explored transl
    corecore