Tail recursion through universal invariants (Q685396)

From MaRDI portal





scientific article; zbMATH DE number 417340
Language Label Description Also known as
default for all languages
No label defined
    English
    Tail recursion through universal invariants
    scientific article; zbMATH DE number 417340

      Statements

      Tail recursion through universal invariants (English)
      0 references
      23 January 1994
      0 references
      Although initial algebra semantics are a powerful denotational tool, they yield programs based on primitive recursion. Tail-recursion is only derived by further, post hoc optimisation. As an alternative to the usual initial list objects, this paper introduces the convergent list objects. The two semantics are shown to be equivalent, but the latter yields tail-recursive programs directly and systematically. The unfolding of a tail-recursive program yields a loop or endomorphism, whose iteration is captured by its categorical colimit, or universal invariant. If the loop converges (roughly speaking, its universal invariant is its fixed object) then this invariant is the semantics of the original program. A list candidate is a convergent list object if all the necessary loops converge.
      0 references
      recursion
      0 references
      convergent list objects
      0 references
      loop
      0 references
      universal invariant
      0 references
      0 references
      0 references

      Identifiers