Results

**11 - 19**of**19**### Theoretical Foundations for Practical ‘Totally Functional Programming’

, 2007

"... Interpretation is an implicit part of today’s programming; it has great power but is overused and has
significant costs. For example, interpreters are typically significantly hard to understand and hard
to reason about. The methodology of “Totally Functional Programming” (TFP) is a reasoned
attempt ..."

Abstract
- Add to MetaCart

Interpretation is an implicit part of today’s programming; it has great power but is overused and has
significant costs. For example, interpreters are typically significantly hard to understand and hard
to reason about. The methodology of “Totally Functional Programming” (TFP) is a reasoned
attempt to redress the problem of interpretation. It incorporates an awareness of the undesirability
of interpretation with observations that definitions and a certain style of programming appear to
offer alternatives to it. Application of TFP is expected to lead to a number of significant outcomes,
theoretical as well as practical. Primary among these are novel programming languages to lessen or
eliminate the use of interpretation in programming, leading to better-quality software. However,
TFP contains a number of lacunae in its current formulation, which hinder development of these
outcomes. Among others, formal semantics and type-systems for TFP languages are yet to be
discovered, the means to reduce interpretation in programs is to be determined, and a detailed
explication is needed of interpretation, definition, and the differences between the two. Most
important of all however is the need to develop a complete understanding of the nature of
interpretation. In this work, suitable type-systems for TFP languages are identified, and guidance
given regarding the construction of appropriate formal semantics. Techniques, based around the
‘fold’ operator, are identified and developed for modifying programs so as to reduce the amount of
interpretation they contain. Interpretation as a means of language-extension is also investigated.
v
Finally, the nature of interpretation is considered. Numerous hypotheses relating to it considered in
detail. Combining the results of those analyses with discoveries from elsewhere in this work leads
to the proposal that interpretation is not, in fact, symbol-based computation, but is in fact something
more fundamental: computation that varies with input. We discuss in detail various implications of
this characterisation, including its practical application. An often more-useful property, ‘inherent
interpretiveness’, is also motivated and discussed in depth. Overall, our inquiries act to give
conceptual and theoretical foundations for practical TFP.

### www.elsevier.com/locate/entcs A Logical Framework with Explicit Conversions

"... The type theory λP corresponds to the logical framework LF. In this paper we present λH, a variant of λP where convertibility is not implemented by means of the customary conversion rule, but instead type conversions are made explicit in the terms. This means that the time to type check a λH term is ..."

Abstract
- Add to MetaCart

The type theory λP corresponds to the logical framework LF. In this paper we present λH, a variant of λP where convertibility is not implemented by means of the customary conversion rule, but instead type conversions are made explicit in the terms. This means that the time to type check a λH term is proportional to the size of the term itself. We define an erasure map from λH to λP, and show that through this map the type theory λH corresponds exactly to λP: any λH judgment will be erased to a λP judgment, and conversely each λP judgment can be lifted to a λH judgment. We also show a version of subject reduction: if two λH terms are provably convertible then their types are also provably convertible. Keywords:

### unknown title

, 905

"... An arithmetical proof of the strong normalization for the λ-calculus with recursive equations on types ..."

Abstract
- Add to MetaCart

An arithmetical proof of the strong normalization for the λ-calculus with recursive equations on types

### The cost of usage in the λ-calculus

"... Abstract—A new “inductive ” approach to standardization for the λ-calculus has been recently introduced by Xi, allowing him to establish a double-exponential upper bound |M | 2|σ| for the length of the standard reduction relative to an arbitrary reduction σ originated in M. In this paper we refine X ..."

Abstract
- Add to MetaCart

Abstract—A new “inductive ” approach to standardization for the λ-calculus has been recently introduced by Xi, allowing him to establish a double-exponential upper bound |M | 2|σ| for the length of the standard reduction relative to an arbitrary reduction σ originated in M. In this paper we refine Xi’s analysis, obtaining much better bounds, especially for computations producing small normal forms. For instance, for terms reducing to a boolean, we are able to prove that the length of the standard reduction is at most a mere factorial of the length of the shortest reduction sequence. The methodological innovation of our approach is that instead of counting the cost for producing something, as is customary, we count the cost of consuming things. The key observation is that the part of a λ-term that is needed to produce the normal form (or an arbitrary rigid prefix) may rapidly augment along a computation, but can only decrease very slowly (actually, linearly). I.

### 0 Least Upper Bounds on the Size of Confluence and Church-Rosser Diagrams in Term Rewriting and λ-Calculus 1

"... We study confluence and the Church-Rosser property in term rewriting and λ-calculus with explicit bounds on term sizes and reduction lengths. Given a system R, we are interested in the lengths of the reductions in the smallest valleys t → ∗ s ′ ∗ ← t ′ expressed as a function: — for confluence a ..."

Abstract
- Add to MetaCart

We study confluence and the Church-Rosser property in term rewriting and λ-calculus with explicit bounds on term sizes and reduction lengths. Given a system R, we are interested in the lengths of the reductions in the smallest valleys t → ∗ s ′ ∗ ← t ′ expressed as a function: — for confluence a function vsR(m, n) where the valleys are for peaks t ∗ ← s → ∗ t ′ with s of size at most m and the reductions of maximum length n, and — for the Church-Rosser property a function cvsR(m, n) where the valleys are for conversions t ↔ ∗ t ′ with t and t ′ of size at most m and the conversion of maximum length n. For confluent term rewriting systems (TRSs), we prove that vsR is a total computable function, and for linear such systems that cvsR is a total computable function. Conversely, we show that every total computable function is the lower bound on the functions vsR(m, n) and cvsR(m, n) for some TRS R: In particular, we show that for every total computable function ϕ: N − → N there is a TRS R with a single term s such that vsR(|s|, n) ≥ ϕ(n) and cvsR(n, n) ≥ ϕ(n) for all n. For orthogonal TRSs R we prove that there is a constant k such that (a) vsR(m, n) is bounded from above by a function exponential in k and (b) cvsR(m, n) is bounded from above by a function in the fourth level of the Grzegorczyk hierarchy. Similarly, for λ-calculus, we show that vsR(m, n) is bounded from above by a function in the fourth level of the Grzegorczyk hierarchy.

### Soft Session Types

, 2011

"... We show how systems of session types can enforce interactions to be bounded for all typable processes. The type system we propose is based on Lafont’s soft linear logic and is strongly inspired by recent works about session types as intuitionistic linear logic formulas. Our main result is the existe ..."

Abstract
- Add to MetaCart

We show how systems of session types can enforce interactions to be bounded for all typable processes. The type system we propose is based on Lafont’s soft linear logic and is strongly inspired by recent works about session types as intuitionistic linear logic formulas. Our main result is the existence, for every typable process, of a polynomial bound on the length of any reduction sequence starting from it and on the size of any of its reducts. 1