Results 1 
4 of
4
Operational Interpretations of Linear Logic
, 1998
"... Two different operational interpretations of intuitionistic linear logic have been proposed in the literature. The simplest interpretation recomputes nonlinear values every time they are required. It has good memorymanagement properties, but is often dismissed as being too inefficient. Alternative ..."
Abstract

Cited by 29 (0 self)
 Add to MetaCart
Two different operational interpretations of intuitionistic linear logic have been proposed in the literature. The simplest interpretation recomputes nonlinear values every time they are required. It has good memorymanagement properties, but is often dismissed as being too inefficient. Alternatively, one can memoize the results of evaluating nonlinear values. This avoids any recomputation, but has weaker memorymanagement properties. Using a novel combination of typetheoretic and operational techniques we give a concise formal comparison of the two interpretations. Moreover, we show that there is a subset of linear logic where the two operational interpretations coincide. In this subset, which is sufficiently expressive to encode callbyvalue lambdacalculus, we can have the best of both worlds: a simple and efficient implementation, and good memorymanagement properties. Keywords: linear logic, operational semantics, callbyvalue lambda calculus, memory management. 1 Introductio...
Type Inference Builds a Short Cut to Deforestation
, 1999
"... Deforestation optimises a functional program by transforming it into another one that does not create certain intermediate data structures. Short cut deforestation is a deforestation method which is based on a single, local transformation rule. In return, short cut deforestation expects both produce ..."
Abstract

Cited by 25 (2 self)
 Add to MetaCart
Deforestation optimises a functional program by transforming it into another one that does not create certain intermediate data structures. Short cut deforestation is a deforestation method which is based on a single, local transformation rule. In return, short cut deforestation expects both producer and consumer of the intermediate structure in a certain form. Warm fusion was proposed to automatically transform functions into this form. Unfortunately, it is costly and hard to implement. Starting from the fact that short cut deforestation is based on a parametricity theorem of the secondorder typed λcalculus, we show how the required form of a list producer can be derived through the use of type inference. Typability for the secondorder typed λcalculus is undecidable. However, we present a lineartime algorithm that solves a partial type inference problem and that, together with controlled inlining and polymorphic type instantiation, suffices for deforestation. The resulting new sho...
Observations on a Linear PCF
, 1997
"... This paper considers some theoretical and practical issues concerning the use of linear logic as a logical foundation of functional programming languages such as Haskell and SML. First I give an operational theory for a linear PCF: the (typed) linear  calculus extended with booleans, conditional a ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
This paper considers some theoretical and practical issues concerning the use of linear logic as a logical foundation of functional programming languages such as Haskell and SML. First I give an operational theory for a linear PCF: the (typed) linear  calculus extended with booleans, conditional and nontermination. An operational semantics is given which corresponds in a precise way to the process of fireduction which originates from proof theory. Using this operational semantics I define notions of observational equivalence (sometimes called contextual equivalence). Surprisingly, the linearity of the language forces a reworking of the traditional notion of a context (the details are given in an appendix). A coinductively defined notion, applicative bisimularity, is developed and compared with observational equivalence using a variant of Howe's method. Interestingly the equivalence of these two notions is greatly complicated by the linearity of the language. These equivalences ar...
Lazy vs. Strict
 ACM Computing Surveys
, 1996
"... structures. Over twenty commercial applications have been developed in Natural Expert, including IVANHOE, which invoices services for every flight passing through Orly or Roissy airport in Paris. Erlang is an strict functional language, used by Ericsson to program telecommunications switches [2]. Er ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
structures. Over twenty commercial applications have been developed in Natural Expert, including IVANHOE, which invoices services for every flight passing through Orly or Roissy airport in Paris. Erlang is an strict functional language, used by Ericsson to program telecommunications switches [2]. Erlang fuses ideas from functional and concurrent languages. On the functional side it provides ease of allocating, traversing, and deallocating complex structures; on the concurrent side it provides processes, To appear in ACM Computing Surveys, June 1996. message passing, and distribution. Synergy arises because the messages passed are complex structures; for instance, functional pattern matching may determine which concurrent message to receive. Strictness is essential to make it easy to predict the order in which concurrent operations occur. Several hundreds of thousands of lines of Erlang code appear in Ericsson products, and it has been f