A generic imperative language for polynomial time
Logic in Computer Science
2020-02-20 v2 Computational Complexity
Programming Languages
Logic
Abstract
The ramification method in Implicit Computational Complexity has been associated with functional programming, but adapting it to generic imperative programming is highly desirable, given the wider algorithmic applicability of imperative programming. We introduce a new approach to ramification which, among other benefits, adapts readily to fully general imperative programming. The novelty is in ramifying finite second-order objects, namely finite structures, rather than ramifying elements of free algebras. In so doing we bridge between Implicit Complexity's type theoretic characterizations of feasibility, and the data-flow approach of Static Analysis.
Cite
@article{arxiv.1911.04026,
title = {A generic imperative language for polynomial time},
author = {Daniel Leivant},
journal= {arXiv preprint arXiv:1911.04026},
year = {2020}
}
Comments
18 pages, submitted to a conference