A functional language for logarithmic space

13Citations
Citations of this article
3Readers
Mendeley users who have this article in their library.
Get full text

Abstract

More than being just a toot for expressing algorithms, a well-designed 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 important to understand how such choices effect the expressibility of programming languages. The paper pursues the very low complexity programs by presenting a first-order function algebra BC ε- that captures exactly LF, the functions computable in logarithmic space. This gives insights into the expressiveness of recursion. 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 (course-of-value recursion). Unlike formulations of LF via Turing 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 LF-computable 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. © Springer-Verlag 2004.

Cite

CITATION STYLE

APA

Neergaard, P. M. (2004). A functional language for logarithmic space. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 3302, 311–326. https://doi.org/10.1007/978-3-540-30477-7_21

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free