Truly Visual Polymorphic Algebraic Data Structures through Maramafication

12/14/2018
by   Chide Groenouwe, et al.
0

This paper presents a so-called maramafication of an essential part of functional programming languages such as Haskell or Clean: the construction of fully polymorphic well-typed algebraic data structures based on type definitions with at most one type parameter. As such, this work extends our previous work, in which only a very limited form of polymorphism was present. Maramafication means the design of visual 'twins' of existing programming constructs using spatial metaphors rooted in common sense or inborn spatial intuition, to achieve self-explanatoriness. This is, among others, useful to considerably reduce the gap between programmers and non-programmers in the creation of programs, for educational purposes, for inclusion of non-typical programmers and for invoking enthusiasm among non-programmers.

READ FULL TEXT

page 7

page 9

page 11

page 19

page 21

page 22

page 24

page 29

research
05/16/2019

First-Class Subtypes

First class type equalities, in the form of generalized algebraic data t...
research
10/10/2018

Using ACL2 in the Design of Efficient, Verifiable Data Structures for High-Assurance Systems

Verification of algorithms and data structures utilized in modern autono...
research
10/31/2018

Structured Parallel Programming Language Based on True Concurrency

Based on our previous work on algebraic laws for true concurrency, we de...
research
08/28/2018

A Short Note on Collecting Dependently Typed Values

Within dependently typed languages, such as Idris, types can depend on v...
research
06/07/2022

Automated Expected Amortised Cost Analysis of Probabilistic Data Structures

In this paper, we present the first fully-automated expected amortised c...
research
11/25/2017

A Language for Probabilistically Oblivious Computation

An oblivious computation is one that is free of direct and indirect info...
research
05/28/2018

A Generalized Modality for Recursion

Nakano's later modality allows types to express that the output of a fun...

Please sign up or login with your details

Forgot password? Click here to reset