Programming from metaphorisms
From MaRDI portal
Abstract: This paper presents a study of the metaphorism pattern of relational specification, showing how it can be refined into recursive programs. Metaphorisms express input-output relationships which preserve relevant information while at the same time some intended optimization takes place. Text processing, sorting, representation changers, etc., are examples of metaphorisms. The kind of metaphorism refinement studied in this paper is a strategy known as change of virtual data structure. By framing metaphorisms in the class of (inductive) regular relations, sufficient conditions are given for such implementations to be calculated using relation algebra. The strategy is illustrated with examples including the derivation of the quicksort and mergesort algorithms, showing what they have in common and what makes them different from the very start of development.
Recommendations
Cites work
- scientific article; zbMATH DE number 3888893 (Why is no real title available?)
- scientific article; zbMATH DE number 45228 (Why is no real title available?)
- scientific article; zbMATH DE number 977284 (Why is no real title available?)
- scientific article; zbMATH DE number 1380900 (Why is no real title available?)
- scientific article; zbMATH DE number 2087346 (Why is no real title available?)
- scientific article; zbMATH DE number 234018 (Why is no real title available?)
- scientific article; zbMATH DE number 3303654 (Why is no real title available?)
- A calculational approach to mathematical induction
- A relation-algebraic approach to the ``Hoare logic of functional dependencies
- A synthesis of several sorting algorithms
- Extended Static Checking by Calculation Using the Pointfree Transform
- Formal program development. IFIP TC2/WG 2.1 State-of-the-Art report
- Kernels, in a nutshell
- Metamorphisms: streaming representation-changers
- Metaphorisms in programming
- Notions of computation and monads
- Programming from Galois connections
- Rectangles, Fringes, and Inverses
- Regularity of relations: A measure of uniformity
- Relations binaires, fermetures, correspondances de Galois
- Symmetric quotients and domain constructions
- The origin of relation algebras in the development and axiomatization of the calculus of relations
- Theory and applications of inverting functions as folds
- Towards patterns for heaps and imperative lambdas
- Update semantics of relational views
Cited in
(4)
This page was built for publication: Programming from metaphorisms
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q1683699)