Results 1  10
of
11
The Expressive Power of Higherorder Types or, Life without CONS
, 2001
"... Compare firstorder functional programs with higherorder programs allowing functions as function parameters. Can the the first program class solve fewer problems than the second? The answer is no: both classes are Turing complete, meaning that they can compute all partial recursive functions. In pa ..."
Abstract

Cited by 24 (1 self)
 Add to MetaCart
Compare firstorder functional programs with higherorder programs allowing functions as function parameters. Can the the first program class solve fewer problems than the second? The answer is no: both classes are Turing complete, meaning that they can compute all partial recursive functions. In particular, higherorder values may be firstorder simulated by use of the list constructor ‘cons’ to build function closures. This paper uses complexity theory to prove some expressivity results about small programming languages that are less than Turing complete. Complexity classes of decision problems are used to characterize the expressive power of functional programming language features. An example: secondorder programs are more powerful than firstorder, since a function f of type [Bool]〉Bool is computable by a consfree firstorder functional program if and only if f is in PTIME, whereas f is computable by a consfree secondorder program if and only if f is in EXPTIME. Exact characterizations are given for those problems of type [Bool]〉Bool solvable by programs with several combinations of operations on data: presence or absence of constructors; the order of data values: 0, 1, or higher; and program control structures: general recursion, tail recursion, primitive recursion.
The strength of nonsize increasing computation
, 2002
"... We study the expressive power of nonsize increasing recursive definitions over lists. This notion of computation is such that the size of all intermediate results will automatically be bounded by the size of the input so that the interpretation in a finite model is sound with respect to the standar ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
We study the expressive power of nonsize increasing recursive definitions over lists. This notion of computation is such that the size of all intermediate results will automatically be bounded by the size of the input so that the interpretation in a finite model is sound with respect to the standard semantics. Many wellknown algorithms with this property such as the usual sorting algorithms are definable in the system in the natural way. The main result is that a characteristic function is definable if and only if it is computable in time O(2 p(n)) for some polynomial p. The method used to establish the lower bound on the expressive power also shows that the complexity becomes polynomial time if we allow primitive recursion only. This settles an open question posed in [1, 7]. The key
Realizability Models for BLLlike languages
, 2000
"... We give a realizability model of GirardScedrovScott's Bounded Linear Logic (BLL). This gives a new proof that all numerical functions representable in that system are polytime. Our analysis naturally justifies the design of the BLL syntax and suggests further extensions. 1 Introduction Bounded L ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
We give a realizability model of GirardScedrovScott's Bounded Linear Logic (BLL). This gives a new proof that all numerical functions representable in that system are polytime. Our analysis naturally justifies the design of the BLL syntax and suggests further extensions. 1 Introduction Bounded Linear Logic (BLL) [3] was an early attempt to provide an intrinsic notion of polynomial time computation within a logical system. That is, the aim was not merely to express polynomial time computability in terms of provability of certain restricted formulas, but rather to provide a typed logical system in which computation via cutelimination or proof normalization is inherently polytime. Since the appearance of this paper, several di#erent typed functional systems for analyzing ptime computability have appeared in the literature [5, 4, 10, 11, 6, 7]. For deeper foundational purposes, we should mention Girard's Light Linear Logic (LLL) [4] as a major improvement of the syntax of BLL, in that...
A Functional Language for Logarithmic Space
 In APLAS
, 2004
"... More than being just a tool for expressing algorithms, a welldesigned programming language allows the user to express her ideas efficiently. The design choices however effect the efficiency of the algorithms written in the languages. It is therefore of importance to understand how such choices effe ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
More than being just a tool for expressing algorithms, a welldesigned programming language allows the user to express her ideas efficiently. The design choices however effect the efficiency of the algorithms written in the languages. It is therefore of importance to understand how such choices effect the expressibility of programming languages. The paper pursues the very low complexity programs by presenting a firstorder function algebra BC # that captures exactly LF, the functions computable in logarithmic space. This gives insights into the expressiveness of recursion. Moreover, it can be useful for the automatic analysis of programs' resource usage and the separation of complexity classes. The important technical features of BC # are (1) a separation of variables into safe and normal variables where recursion can only be done over the latter; (2) linearity of the recursive call; and (3) recursion with a variable step length (courseofvalue recursion). Unlike formulations LF via Turin Machines, BC # makes no references to outside resource measures, e.g., the size of the memory used. This appears to be the first such characterization of LFcomputable functions (not just predicates). The proof that all BC #programs can be evaluated in LF is of separate interest to programmers: it trades space for time and evaluates recursion with at most one recursive call without a call stack.
Type Systems for ResourceBounded Programming and Compilation: Case for Support
"... Introduction Recent decades have seen a gradual move from lowlevel programming languages such as assembler, Basic, and COBOL to highlevel languages such as C++, Haskell, Java, and ML. Highlevel languages provide abstraction layers and powerful programming idioms, making it much easier to impleme ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Introduction Recent decades have seen a gradual move from lowlevel programming languages such as assembler, Basic, and COBOL to highlevel languages such as C++, Haskell, Java, and ML. Highlevel languages provide abstraction layers and powerful programming idioms, making it much easier to implement and analyse complicated algorithms. At the beginning, lack of efficiency prevented the use of these languages in reallife applications, but nowadays powerful hardware and efficient compilers make highlevel programming languages the method of choice for most applications. Nonetheless, efficiency concerns are still paramount when computing resources are limited, such as in embedded and realtime systems, or for applications to be run across the internet. For embedded and realtime systems, programmers use assembler code (or assemblerclose fragments of `C') to ensure a close control over resource consumption. For internet applications, highlevel languages such as Java ar
Complexitytheoretic hierarchies induced by fragments of Gödel’s T
, 2007
"... We introduce two hierarchies of unknown ordinal height. The hierarchies are induced by natural fragments of a calculus based on finite types and Gödel’s T, and all the classes in the hierarchies are uniformly defined without referring to explicit bounds. Deterministic complexity classes like logsp ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We introduce two hierarchies of unknown ordinal height. The hierarchies are induced by natural fragments of a calculus based on finite types and Gödel’s T, and all the classes in the hierarchies are uniformly defined without referring to explicit bounds. Deterministic complexity classes like logspace, p, pspace, linspace and exp are captured by the hierarchies. Typical subrecursive classes are also captured, e.g. the small relational Grzegorczyk classes E 0 ∗, E 1 ∗ and E 2 ∗.
Realizability Models for BLLlike languages
"... We give a realizability model of GirardScedrovScott's Bounded Linear Logic (BLL). This gives a new proof that all numerical functions representable in that system are polytime. Our analysis naturally justifies the design of the BLL syntax and suggests further extensions. 1 Introduction Bounded L ..."
Abstract
 Add to MetaCart
We give a realizability model of GirardScedrovScott's Bounded Linear Logic (BLL). This gives a new proof that all numerical functions representable in that system are polytime. Our analysis naturally justifies the design of the BLL syntax and suggests further extensions. 1 Introduction Bounded Linear Logic (BLL) [3] was an early attempt to provide an intrinsic notion of polynomial time computation within a logical system. That is, the aim was not merely to express polynomial time computability in terms of provability of certain restricted formulas, but rather to provide a typed logical system in which computation via cutelimination or proof normalization is inherently polytime. Since the appearance of this paper, several di#erent typed functional systems for analyzing ptime computability have appeared in the literature [5, 4, 10, 11, 6, 7]. For deeper foundational purposes, we should mention Girard's Light Linear Logic (LLL) [4] as a major improvement of the syntax of BLL, in that...
BC_ε: RecursionTheoretic Characterization of LOGSPACE
, 2004
"... We present BC # which is a function algebra that is sound and complete for LOGSPACE. ..."
Abstract
 Add to MetaCart
We present BC # which is a function algebra that is sound and complete for LOGSPACE.