A polytime functional language from light linear logic

  • Authors:
  • Patrick Baillot;Marco Gaboardi;Virgile Mogbil

  • Affiliations:
  • LIP - UMR 5668 CNRS ENS-Lyon UCBL INRIA - Université de Lyon;Dipartimento di Informatica, Università degli studi di Torino;LIPN - UMR 7030, CNRS - Université Paris

  • Venue:
  • ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce a typed functional programming language LPL (acronym for Light linear Programming Language) in which all valid programs run in polynomial time, and which is complete for polynomial time functions. LPL is based on lambda-calculus, with constructors for algebraic data-types, pattern matching and recursive definitions, and thus allows for a natural programming style. The validity of LPL programs is checked through typing and a syntactic criterion on recursive definitions. The higher order type system is designed from the ideas of Light linear logic: stratification, to control recursive calls, and weak exponential connectives §, !, to control duplication of arguments.