Ideograph: A Language for Expressing and Manipulating Structured Data
Programming Languages
2023-03-29 v1
Abstract
We introduce Ideograph, a language for expressing and manipulating structured data. Its types describe kinds of structures, such as natural numbers, lists, multisets, binary trees, syntax trees with variable binding, directed multigraphs, and relational databases. Fully normalized terms of a type correspond exactly to members of the structure, analogous to a Church-encoding. Moreover, definable operations over these structures are guaranteed to respect the structures' equivalences. In this paper, we give the syntax and semantics of the non-polymorphic subset of Ideograph, and we demonstrate how it can represent and manipulate several interesting structures.
Keywords
Cite
@article{arxiv.2303.15784,
title = {Ideograph: A Language for Expressing and Manipulating Structured Data},
author = {Stephen Mell and Osbert Bastani and Steve Zdancewic},
journal= {arXiv preprint arXiv:2303.15784},
year = {2023}
}
Comments
In Proceedings TERMGRAPH 2022, arXiv:2303.14219