skip to main content
10.1145/3133850.3133852acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Infra: structure all the way down: structured data as a visual programming language

Published: 25 October 2017 Publication History

Abstract

We present Infra, a new baseline medium for representing data. With Infra, arbitrarily-complex structured data can be encoded, viewed, edited, and processed, all while remaining in an efficient non-textual form. It is suitable for the full range of information modalities, from free-form input, to compact schema-conforming structures. With its own equivalent of a text editor and text-field widget, Infra is designed to target the domain currently dominated by flat character strings while simultaneously enabling the expression of sub-structure, inter-reference, dynamic dependencies, abstraction, computation, and context (metadata).
Existing metaformats fit neatly into two categories. They are either textual for human readability (such as XML and JSON) or binary for compact serialization (such as Thrift and Protocol Buffers). In contrast, Infra unifies those two paradigms. In order to have the desirable properties of binary formats, Infra has no textual representation. And yet, it is designed to be easily read and authored by end-users.
We show how the organization Infra brings to data makes a new non-textual programming paradigm viable. Programs that modify data can now be embedded into the data itself. Furthermore, these programs can often be authored by demonstration. We argue that Infra can be used to improve existing software projects and that bringing direct authoring and human readability to a binary data paradigm could have rippling ramifications on the computing landscape.

References

[1]
Umut A Acar, Guy E Blelloch, and Robert Harper. 2002. Adaptive functional programming . Vol. 37. ACM.
[2]
Tim Berners-Lee, James Hendler, Ora Lassila, and others. 2001. The semantic web. Scientific american 284, 5 (2001), 28–37.
[3]
Patrick Borras, Dominique Clément, Th Despeyroux, Janet Incerpi, Gilles Kahn, Bernard Lang, and Valérie Pascual. 1989. Centaur: the system . Vol. 13. ACM.
[4]
Thomas Boutell. 1997. PNG (Portable Network Graphics) Specification Version 1.0. (1997).
[5]
Tim Bray. 2014. The javascript object notation (json) data interchange format. (2014).
[6]
Tim Bray, Jean Paoli, C Michael Sperberg-McQueen, Eve Maler, and François Yergeau. 1998. Extensible markup language (XML). World Wide Web Consortium Recommendation REC-xml-19980210. http://www. w3. org/TR/1998/REC-xml-19980210 16 (1998).
[7]
Jeffrey Dean and Sanjay Ghemawat. 2010. MapReduce: a flexible data processing tool. Commun. ACM 53, 1 (2010), 72–77.
[8]
Andrea A. diSessa and Harold Abelson. 1986. Boxer: a reconstructible computational medium. Commun. ACM 29, 9 (1986), 859–868.
[9]
Jonathan Edwards. 2005. Subtext: uncovering the simplicity of programming. In ACM SIGPLAN Notices, Vol. 40. ACM, 505–518.
[10]
Douglas C. Engelbart and William K. English. 1968. A Research Center for Augmenting Human Intellect. In Proceedings of the December 9-11, 1968, Fall Joint Computer Conference, Part I (AFIPS ’68 (Fall, part I)) . ACM, New York, NY, USA, 395–410.
[11]
Sadayuki Furuhashi. 2014. MessagePack: ItâĂŹs like JSON. but fast and small, 2014. (2014).
[12]
A. Nico Habermann and David Notkin. 1986. Gandalf: Software development environments. Software Engineering, IEEE Transactions on 12 (1986), 1117–1127.
[13]
Wilfred James Hansen. 1971. Creation of hierarchic text with a computer display. (1971).
[14]
Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, and Alan Kay. 1997. Back to the future: the story of Squeak, a practical Smalltalk written in itself. In ACM SIGPLAN Notices, Vol. 32. ACM, 318–326.
[15]
ISO ITU-T. 2002. IEC: Abstract Syntax Notation One (ASN. 1) Specification of Basic Notation. Report no. ITU-T Rec. X 680 (2002), 8824–1.
[16]
J. M. Dlugosz 2003. Dlugosz’ Variable-Length Integer Encoding -Revision 2. (2003). http://www.dlugosz.com/ZIP2/VLI.html .
[17]
MPS JetBrains. 2014. Meta Programming System. (2014).
[18]
K. Beck 2015. Prune: A Code Editor that is Not a Text Editor. (2015). https://www.facebook.com/notes/kent-beck/ prune-a-code-editor-that-is-not-a-text-editor/1012061842160013 .
[19]
Andrew J Ko, Htet Htet Aung, and Brad A Myers. 2005. Design requirements for more flexible structured editors from a study of programmers’ text editing. In CHI’05 extended abstracts on human factors in computing systems . ACM, 1557–1560.
[20]
Florian Loitsch. 2010. Printing floating-point numbers quickly and accurately with integers. ACM Sigplan Notices 45, 6 (2010), 233–243.
[21]
John McCarthy. 1960. Recursive functions of symbolic expressions and their computation by machine, Part I. Commun. ACM 3, 4 (1960), 184–195.
[22]
Martin Nilsson. 2004. Extensible Binary Markup Language. Draft specification, Matroska (2004).
[23]
Seymour Papert. 1980. Mindstorms: Children, computers, and powerful ideas . Basic Books, Inc.
[24]
Yakov Shafranovich. 2005. Common format and MIME type for Comma-Separated Values (CSV) files. (2005).
[25]
Charles Simonyi. 1995. The death of computer languages, the birth of intentional programming. In NATO Science Committee Conference. 17–18.
[26]
Mark Slee, Aditya Agarwal, and Marc Kwiatkowski. 2007. Thrift: Scalable cross-language services implementation. Facebook White Paper 5, 8 (2007).
[27]
Nikolai Tillmann, Michal Moskal, Jonathan de Halleux, and Manuel Fahndrich. 2011. TouchDevelop: programming cloud-connected mobile devices via touchscreen. In Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software . ACM, 49–60.

Cited By

View all
  • (2022)Ascending the Ladder to Self-Sustainability: Achieving Open Evolution in an Interactive Graphical SystemProceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3563835.3568736(240-258)Online publication date: 29-Nov-2022
  • (2021)BIM Visual Programming Tools Applications in Infrastructure Projects: A State-of-the-Art ReviewApplied Sciences10.3390/app1118834311:18(8343)Online publication date: 8-Sep-2021
  • (2020)Research on Visual Programming System of Gesture Interaction Interface in VRProceedings of the 2020 4th International Conference on Big Data and Internet of Things10.1145/3421537.3421554(38-42)Online publication date: 22-Aug-2020

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
Onward! 2017: Proceedings of the 2017 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software
October 2017
261 pages
ISBN:9781450355308
DOI:10.1145/3133850
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 October 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. end-user development
  2. human-readability
  3. metaformat
  4. structure editing

Qualifiers

  • Research-article

Conference

SPLASH '17
Sponsor:

Acceptance Rates

Overall Acceptance Rate 40 of 105 submissions, 38%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)2
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Ascending the Ladder to Self-Sustainability: Achieving Open Evolution in an Interactive Graphical SystemProceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3563835.3568736(240-258)Online publication date: 29-Nov-2022
  • (2021)BIM Visual Programming Tools Applications in Infrastructure Projects: A State-of-the-Art ReviewApplied Sciences10.3390/app1118834311:18(8343)Online publication date: 8-Sep-2021
  • (2020)Research on Visual Programming System of Gesture Interaction Interface in VRProceedings of the 2020 4th International Conference on Big Data and Internet of Things10.1145/3421537.3421554(38-42)Online publication date: 22-Aug-2020

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media