In the cons-free programming paradigm, we eschew constructors and program using only destructors. Cons-free programs in a simple first-order language with string data capture exactly P, the class of polynomial-time relations. By varying the underlying language and considering other data types, we can capture several other complexity classes. However, no cons-free programming language captures any functional complexity class for fundamental reasons. In this paper, we cleanly extend the cons-free paradigm to encompass functional complexity classes. Namely, we introduce programs with data that can either only be destructed or only be constructed, which we enforce by a type system on the program variables. We call the resulting programs read/write- (or RW-)factorizable, show that RW-factorizable string programs capture exactly the class FP of polynomial-time functions, and that tail-recursive RW-factorizable programs capture exactly the class FL of logarithmic-space functions. Finally, we state and solve the nontrivial problem of syntactic composition of two RW-factorizable programs.
Thu 7 SepDisplayed time zone: Pacific Time (US & Canada) change
15:00 - 16:00 | Data representationICFP Papers and Events at B - Fifth Avenue Chair(s): Lennart Augustsson Epic Games | ||
15:00 30mTalk | Read/write factorizable programsJFP Presentation ICFP Papers and Events Link to publication DOI | ||
15:30 30mTalk | Bit-Stealing Made Legal: Compilation for Custom Memory Representations of Algebraic Data Types ICFP Papers and Events Thaïs Baudon ENS de Lyon & LIP, Gabriel Radanne Inria, Laure Gonnord Univ. Grenoble Alpes, Grenoble INP, LCIS, Valence, France DOI Pre-print Media Attached File Attached |