Abstract

We give a simple order-theoretic construction of a Cartesian closed category of sequential functions. It is based on bistable biorders, which are sets with a partial order --- the extensional order --- and a bistable coherence, which captures equivalence of program behaviour, up to permutation of top (error) and bottom (divergence). We show that monotone and bistable functions (which are required to preserve bistably bounded meets and joins) are strongly sequential, and use this fact to prove universality results for the bistable biorder semantics of the simply-typed lambda-calculus (with atomic constants), and an extension with arithmetic and recursion.

We also construct a bistable model of SPCF, a higher-order functional programming language with non-local control. We use our universality result for the lambda-calculus to show that the semantics of SPCF is fully abstract. We then establish a direct correspondence between bistable functions and sequential algorithms by showing that sequential data structures give rise to bistable biorders, and that each bistable function between such biorders is computed by a sequential algorithm.

  • Full text (.pdf)
  • Extended abstract (.pdf) presented at CSL '03
  • Slides (.dvi) from an invited talk at APPSEM '04.
  • Bibtex entry:

    @article{bist,
    author = "J. Laird",
    title = "Bistability: A sequential domain theory",
    journal = "Logical Methods in Computer Science",
    volume = 3,
    issue = 2,
    year =2007}