Extending the sparkle core language with object abstraction

  • Authors:
  • Máté Tejfel;Zoltán Horváth;Tamás Kozsik

  • Affiliations:
  • -;-;Department of Programming Languages and Compilers Eötvös Loránd University, Budapest

  • Venue:
  • Acta Cybernetica
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Sparkle is a theorem prover specially constructed for the functional programming language Clean. In a pure functional language like Clean the variables represent constant values; variables do not change in time. Hence it seems that temporality has no meaning in functional programs. However, in certain cases (e.g. in interactive or distributed programs, or in ones that use I/O), a series of values computed from one another can be considered as different states of the same "abstract object". For this abstract object temporal properties can be proved. This paper presents a method to describe abstract objects and invariant properties in an extended version of the Sparkle Core language. The creation of such descriptions will be supported by a refactoring tool. The descriptions are completely machine processible, and provide a way to automatize the proof of temporal properties of Clean programs with the extended Sparkle system.Categories and Subject Descriptors: D.1.1 [Programming Techniques]: Applicative (Functional) Programming; F.3.1 [Logics and meanings of programs]: Specifying and Verifying and Reasoning about Programs - invariants;