GeckoGraph: A Visual Language for Polymorphic Types

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Fu, Shuai, Dwyer, Tim, Stuckey, Peter J.
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866916254434983936
author Fu, Shuai
Dwyer, Tim
Stuckey, Peter J.
author_facet Fu, Shuai
Dwyer, Tim
Stuckey, Peter J.
contents 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 for novice programmers.
format Preprint
id arxiv_https___arxiv_org_abs_2405_12699
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle GeckoGraph: A Visual Language for Polymorphic Types
Fu, Shuai
Dwyer, Tim
Stuckey, Peter J.
Programming Languages
Human-Computer Interaction
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 for novice programmers.
title GeckoGraph: A Visual Language for Polymorphic Types
topic Programming Languages
Human-Computer Interaction
url https://arxiv.org/abs/2405.12699