GeckoGraph: A Visual Language for Polymorphic Types
Shuai Fu, Tim Dwyer, Peter J. Stuckey

TL;DR
GeckoGraph introduces a visual notation for polymorphic types to improve understanding and comparison, especially aiding novice programmers, demonstrated through the largest controlled user study in functional programming.
Contribution
It presents a novel graphical notation for polymorphic types and provides empirical evidence of its effectiveness through a large-scale user study.
Findings
GeckoGraph improves task success rates for programmers.
The visual notation aids understanding of polymorphic types.
Novice programmers benefit significantly from GeckoGraph.
Abstract
Polymorphic types are an important feature in most strongly typed programming languages. They allow functions to be written in a way that can be used with different data types, while still enforcing the relationship and constraints between the values. However, programmers often find polymorphic types difficult to use and understand and tend to reason using concrete types. We propose GeckoGraph, a graphical notation for types. GeckoGraph aims to accompany traditional text-based type notation and to make reading, understanding, and comparing types easier. We conducted a large-scale human study using GeckoGraph compared to text-based type notation. To our knowledge, this is the largest controlled user study on functional programming ever conducted. The results of the study show that GeckoGraph helps improve programmers' ability to succeed in the programming tasks we designed, especially…
Peer 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
TopicsAnimal and Plant Science Education · Insect and Arachnid Ecology and Behavior · Species Distribution and Climate Change
