Parallel program design: a foundation
Parallel program design: a foundation
A Discipline of Programming
Toward Parametric Verification of Open Distributed Systems
COMPOS'97 Revised Lectures from the International Symposium on Compositionality: The Significant Difference
Interactive Functional Objects in Clean
IFL '97 Selected Papers from the 9th International Workshop on Implementation of Functional Languages
Theorem Proving for Functional Programmers
IFL '02 Selected Papers from the 13th International Workshop on Implementation of Functional Languages
Coordination language for distributed clean
Acta Cybernetica
Proving Properties of Lazy Functional Programs with Sparkle
Central European Functional Programming School
Programming language elements for correctness proofs
Acta Cybernetica
A Single-Step Term-Graph Reduction System for Proof Assistants
Applications of Graph Transformations with Industrial Relevance
Embedding a proof system in haskell
CEFP'09 Proceedings of the Third summer school conference on Central European functional programming school
Proof tool support for explicit strictness
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
Hi-index | 0.00 |
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;