A useful bounded resource functional language

  • Authors:
  • Michael J. Burrell;James H. Andrews;Mark Daley

  • Affiliations:
  • Department of Computer Science, University of Western Ontario;Department of Computer Science, University of Western Ontario;Department of Computer Science and Department of Biology, University of Western Ontario

  • Venue:
  • SOFSEM'08 Proceedings of the 34th conference on Current trends in theory and practice of computer science
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Real-time software, particularly that used in embedded systems, has unique resource and verification requirements. While embedded software may not have great need for processor and memory resources, the need to prove that computations are performed correctly and within hard time and space constraints is very great. Improvements in hardware and compiler technology mean that functional programming languages are increasingly practical for embedded situations. We present a functional programming language, Ca, built on catamorphisms instead of general recursion, intended for use in static analysis. Ca is not Turing-complete--every program must terminate--but it still provides an excellent framework for building static analysis techniques. Catamorphisms are a general tool which encompass bounded iteration, and allow to traverse any algebraic data structure. We discuss the computational properties of this language, as well as provide a framework for future work in static analysis.