Call by Name

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 36834 Experts worldwide ranked by ideXlab platform

Francoisregis Sinot - One of the best experts on this subject based on the ideXlab platform.

  • Call by Name and Call by value as token passing interaction nets
    International Conference on Typed Lambda Calculi and Applications, 2005
    Co-Authors: Francoisregis Sinot
    Abstract:

    Two common misbeliefs about encodings of the λ-calculus in interaction nets (INs) are that they are good only for strategies that are not very well understood (e.g. optimal reduction) and that they always have to deal in a complex way with boxes. In brief, the theory of interaction nets is more or less disconnected from the standard theory: we can do things in INs that we cannot do with terms, which is true [5,10]; and we cannot do in INs things that can easily be done with terms. This paper contributes to fighting this misbelief by showing that the standard Call-by-Name and Call-by-value strategies of the λ-calculus are encoded in interaction nets in a very simple and extensible way, and in particular that these encodings do not need any notion of box. This work can also be seen as a first step towards a generic approach to derive graph-based abstract machines.

  • TLCA - Call-by-Name and Call-by-value as token-passing interaction nets
    Lecture Notes in Computer Science, 2005
    Co-Authors: Francoisregis Sinot
    Abstract:

    Two common misbeliefs about encodings of the λ-calculus in interaction nets (INs) are that they are good only for strategies that are not very well understood (e.g. optimal reduction) and that they always have to deal in a complex way with boxes. In brief, the theory of interaction nets is more or less disconnected from the standard theory: we can do things in INs that we cannot do with terms, which is true [5,10]; and we cannot do in INs things that can easily be done with terms. This paper contributes to fighting this misbelief by showing that the standard Call-by-Name and Call-by-value strategies of the λ-calculus are encoded in interaction nets in a very simple and extensible way, and in particular that these encodings do not need any notion of box. This work can also be seen as a first step towards a generic approach to derive graph-based abstract machines.

Philip Wadler - One of the best experts on this subject based on the ideXlab platform.

  • Call by value is dual to Call by Name reloaded
    Rewriting Techniques and Applications, 2005
    Co-Authors: Philip Wadler
    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, translating from λμ to dual and then ‘reloading' from dual back into λμ yields a term equal to the original term. Composing the translations with duality on the dual calculus yields an involutive notion of duality on the λμ-calculus. A previous notion of duality on the λμ-calculus has been suggested by Selinger (2001), but it is not involutive. Note: This paper uses color to clarify the relation of types and terms, and of source and target calculi. If the URL below is not in blue please download the color version from$$ \texttt{http://homepages.inf.ed.ac.uk/wadler/} $$ or google ‘wadler dual reloaded'.

  • RTA - Call-by-value is dual to Call-by-Name: reloaded
    Lecture Notes in Computer Science, 2005
    Co-Authors: Philip Wadler
    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, translating from λμ to dual and then ‘reloading' from dual back into λμ yields a term equal to the original term. Composing the translations with duality on the dual calculus yields an involutive notion of duality on the λμ-calculus. A previous notion of duality on the λμ-calculus has been suggested by Selinger (2001), but it is not involutive. Note: This paper uses color to clarify the relation of types and terms, and of source and target calculi. If the URL below is not in blue please download the color version from$$ \texttt{http://homepages.inf.ed.ac.uk/wadler/} $$ or google ‘wadler dual reloaded'.

  • Call by value is dual to Call by Name
    International Conference on Functional Programming, 2003
    Co-Authors: Philip Wadler
    Abstract:

    The rules of classical logic may be formulated in pairs corresponding to De Morgan duals: rules about & are dual to rules about V. A line of work, including that of Filinski (1989), Griffin (1990), Parigot (1992), Danos, Joinet, and Schellinx (1995), Selinger (1998,2001), and Curien and Herbelin (2000), has led to the startling conclusion that Call-by-value is the de Morgan dual of Call-by-Name.This paper presents a dual calculus that corresponds to the classical sequent calculus of Gentzen (1935) in the same way that the lambda calculus of Church (1932,1940) corresponds to the intuitionistic natural deduction of Gentzen (1935). The paper includes crisp formulations of Call-by-value and Call-by-Name that are obviously dual; no similar formulations appear in the literature. The paper gives a CPS translation and its inverse, and shows that the translation is both sound and complete, strengthening a result in Curien and Herbelin (2000).

  • ICFP - Call-by-value is dual to Call-by-Name
    Proceedings of the eighth ACM SIGPLAN international conference on Functional programming - ICFP '03, 2003
    Co-Authors: Philip Wadler
    Abstract:

    The rules of classical logic may be formulated in pairs corresponding to De Morgan duals: rules about & are dual to rules about V. A line of work, including that of Filinski (1989), Griffin (1990), Parigot (1992), Danos, Joinet, and Schellinx (1995), Selinger (1998,2001), and Curien and Herbelin (2000), has led to the startling conclusion that Call-by-value is the de Morgan dual of Call-by-Name.This paper presents a dual calculus that corresponds to the classical sequent calculus of Gentzen (1935) in the same way that the lambda calculus of Church (1932,1940) corresponds to the intuitionistic natural deduction of Gentzen (1935). The paper includes crisp formulations of Call-by-value and Call-by-Name that are obviously dual; no similar formulations appear in the literature. The paper gives a CPS translation and its inverse, and shows that the translation is both sound and complete, strengthening a result in Curien and Herbelin (2000).

  • Call-by-Name Call-by-value, Call-by-need and the linear lambda calculus
    Theoretical Computer Science, 1999
    Co-Authors: John Maraist, Martin Odersky, David N. Turner, Philip Wadler
    Abstract:

    Abstract Girard described two translations of intuitionistic logic into linear logic, one where A → B maps to (!A)⊸B and another where it maps to !(A⊸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. Our results extend neatly to translations of extensions for recursion in the Call-by-Name and Call-by-value calculi, and in general to extensions for products and for the corresponding untyped systems.

Paul Hudak - One of the best experts on this subject based on the ideXlab platform.

  • Call by Name assignment and the lambda calculus
    Symposium on Principles of Programming Languages, 1993
    Co-Authors: Martin Odersky, Dan Rabin, Paul Hudak
    Abstract:

    We define an extension of the Call-by-Name lambda calculus with additional constructs and reduction rules that represent mutable variables and assignments. The extended calculus has neither a concept of an explicit store nor a concept of evaluation order; nevertheless, we show that programs in the calculus can be implemented using a single-threaded store. We also show that the new calculus has the Church-Rosser property and that it is a conservative extension of classical lambda calculus with respect to operational equivalence; that is, all algebraic laws of the functional subset are preserved.

  • POPL - Call by Name, assignment, and the lambda calculus
    Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '93, 1993
    Co-Authors: Martin Odersky, Dan Rabin, Paul Hudak
    Abstract:

    We define an extension of the Call-by-Name lambda calculus with additional constructs and reduction rules that represent mutable variables and assignments. The extended calculus has neither a concept of an explicit store nor a concept of evaluation order; nevertheless, we show that programs in the calculus can be implemented using a single-threaded store. We also show that the new calculus has the Church-Rosser property and that it is a conservative extension of classical lambda calculus with respect to operational equivalence; that is, all algebraic laws of the functional subset are preserved.

Martin Odersky - One of the best experts on this subject based on the ideXlab platform.

  • Call-by-Name Call-by-value, Call-by-need and the linear lambda calculus
    Theoretical Computer Science, 1999
    Co-Authors: John Maraist, Martin Odersky, David N. Turner, Philip Wadler
    Abstract:

    Abstract Girard described two translations of intuitionistic logic into linear logic, one where A → B maps to (!A)⊸B and another where it maps to !(A⊸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. Our results extend neatly to translations of extensions for recursion in the Call-by-Name and Call-by-value calculi, and in general to extensions for products and for the corresponding untyped systems.

  • Call by Name Call by value Call by need and the linear lambda calculus
    Electronic Notes in Theoretical Computer Science, 1995
    Co-Authors: John Maraist, Martin Odersky, David N. Turner, Philip Wadler
    Abstract:

    Abstract Girard described two translations of intuitionistic logic into linear logic, one where A → B maps to (! A ) –○ B , and another where it maps to !( A –○ 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.

  • MFPS - Call-by-Name, Call-by-value, Call-by-need, and the Linear Lambda Calculus
    Electronic Notes in Theoretical Computer Science, 1995
    Co-Authors: John Maraist, Martin Odersky, David N. Turner, Philip Wadler
    Abstract:

    Abstract Girard described two translations of intuitionistic logic into linear logic, one where A → B maps to (! A ) –○ B , and another where it maps to !( A –○ 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.

  • Call by Name assignment and the lambda calculus
    Symposium on Principles of Programming Languages, 1993
    Co-Authors: Martin Odersky, Dan Rabin, Paul Hudak
    Abstract:

    We define an extension of the Call-by-Name lambda calculus with additional constructs and reduction rules that represent mutable variables and assignments. The extended calculus has neither a concept of an explicit store nor a concept of evaluation order; nevertheless, we show that programs in the calculus can be implemented using a single-threaded store. We also show that the new calculus has the Church-Rosser property and that it is a conservative extension of classical lambda calculus with respect to operational equivalence; that is, all algebraic laws of the functional subset are preserved.

  • POPL - Call by Name, assignment, and the lambda calculus
    Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '93, 1993
    Co-Authors: Martin Odersky, Dan Rabin, Paul Hudak
    Abstract:

    We define an extension of the Call-by-Name lambda calculus with additional constructs and reduction rules that represent mutable variables and assignments. The extended calculus has neither a concept of an explicit store nor a concept of evaluation order; nevertheless, we show that programs in the calculus can be implemented using a single-threaded store. We also show that the new calculus has the Church-Rosser property and that it is a conservative extension of classical lambda calculus with respect to operational equivalence; that is, all algebraic laws of the functional subset are preserved.

Eijiro Sumii - One of the best experts on this subject based on the ideXlab platform.