Programming from Metaphorisms

09/19/2017
by   J. N. Oliveira, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/21/2017

Recursive Programs for Document Spanners

A document spanner models a program for Information Extraction (IE) as a...
research
07/09/2020

Program Synthesis with Pragmatic Communication

Program synthesis techniques construct or infer programs from user-provi...
research
09/17/2012

Textual Features for Programming by Example

In Programming by Example, a system attempts to infer a program from inp...
research
01/27/2021

Deriving monadic quicksort (Declarative Pearl)

To demonstrate derivation of monadic programs, we present a specificatio...
research
09/17/2020

Towards Refinable Choreographies

We investigate refinement in the context of choreographies. We introduce...
research
04/02/2018

On the structure of C-algebras through atomicity and if-then-else

This paper introduces the notions of atoms and atomicity in C-algebras a...
research
11/13/2022

Choice Trees: Representing Nondeterministic, Recursive, and Impure Programs in Coq

This paper introduces Choice Trees (ctrees), a monad for modeling nondet...

Please sign up or login with your details

Forgot password? Click here to reset