Truly Visual Polymorphic Algebraic Data Structures through Maramafication
Chide Groenouwe, Jesse Nortier, John-Jules Ch. Meyer

TL;DR
This paper introduces maramafication, a visual approach to representing fully polymorphic algebraic data structures in functional programming, aiming to improve understanding and accessibility for diverse users.
Contribution
It extends previous work by enabling fully polymorphic, well-typed algebraic data structures through visual 'maramafied' representations based on spatial metaphors.
Findings
Visual maramafication simplifies understanding of complex data structures.
The approach enhances educational tools for programming.
It bridges the gap between programmers and non-programmers.
Abstract
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.
Click any figure to enlarge with its caption.
Figure 18
Figure 18
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
Figure 27
Figure 28
Figure 29
Figure 30
Figure 31
Figure 32
Figure 33
Figure 34
Figure 35
Figure 18
Figure 18
Figure 18
Figure 18
Figure 18Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsScientific Computing and Data Management · Logic, programming, and type systems · Software Engineering Research
