Volume II: Parallel Languages on PARLE: Parallel Architectures and Languages Europe
Logic and computation: interactive proof with Cambridge LCF
Logic and computation: interactive proof with Cambridge LCF
CLEAN: A language for functional graph rewriting
Proc. of a conference on Functional programming languages and computer architecture
Evaluation transformers—a model for the parallel evolution of functional languages
Proc. of a conference on Functional programming languages and computer architecture
An introduction to functional programming
An introduction to functional programming
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
Graph rewriting aspects of functional programming
Handbook of graph grammars and computing by graph transformation
Functional Programming and Parallel Graph Rewriting
Functional Programming and Parallel Graph Rewriting
Keep it clean: a unique approach to functional programming.
ACM SIGPLAN Notices
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Proving Correctness of Programs with IO - A Paradigm Comparison
IFL '02 Selected Papers from the 13th 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
Algorithm + strategy = parallelism
Journal of Functional Programming
Verifying haskell programs using constructive type theory
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
Fast and loose reasoning is morally correct
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Extending the sparkle core language with object abstraction
Acta Cybernetica
Introducing the Haskell equational reasoning assistant
Proceedings of the 2006 ACM SIGPLAN workshop on Haskell
Proof tool support for explicit strictness
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
A Single-Step Term-Graph Reduction System for Proof Assistants
Applications of Graph Transformations with Industrial Relevance
Reasoning about i/o in functional programs
CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
Hi-index | 0.00 |
This tutorial paper aims to provide the necessary expertise for working with the proof assistant Sparkle, which is dedicated to the lazy functional programming language Clean. The purpose of a proof assistant is to use formal reasoning to verify the correctness of a computer program. Formal reasoning is very powerful, but is unfortunately also difficult to carry out.Due to their mathematical nature, functional programming languages are well suited for formal reasoning. Moreover, Sparkleoffers specialized support for reasoning about Clean, and is integrated into its official development environment. These factors make Sparklea proof assistant that is relatively easy to use.This paper provides both theoretical background for formal reasoning, and detailed information about using Sparklein practice. Special attention will be given to specific aspects that arise due to lazy evaluation and due to the existence of strictness annotations. Several assignments are included in the text, which provide hands-on experience with Sparkle.