Hostname: page-component-77f85d65b8-45ctf Total loading time: 0 Render date: 2026-03-28T08:02:23.003Z Has data issue: false hasContentIssue false

EditorArrow: An arrow-based model for editor-based programming

Published online by Cambridge University Press:  22 November 2012

PETER ACHTEN
Affiliation:
Institute for Computing and Information Sciences, Radboud University Nijmegen, Nijmegen, The Netherlands (e-mail: P.Achten@cs.ru.nl)
MARKO VAN EEKELEN
Affiliation:
Institute for Computing and Information Sciences, Radboud University Nijmegen, Nijmegen, The Netherlands and School of Computer Science, Open University of The Netherlands, Heerlen, The Netherlands (e-mail: M.vanEekelen@cs.ru.nl)
MAARTEN DE MOL
Affiliation:
Formal Methods and Tools, University of Twente, Enschede, The Netherlands (e-mail: M.J.deMol@utwente.nl)
RINUS PLASMEIJER
Affiliation:
Institute for Computing and Information Sciences, Radboud University Nijmegen, Nijmegen, The Netherlands (e-mail: R.Plasmeijer@cs.ru.nl)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

State-based interactive applications, whether they run on the desktop or as a web application, can be considered as collections of interconnected editors of structured values that allow users to manipulate data. This is the view that is advocated by the GEC and iData toolkits, which offer a high level of abstraction to programming desktop and web GUI applications respectively. Special features of these toolkits are that editors have shared, persistent state, and that they handle events individually. In this paper we cast these toolkits within the Arrow framework and present EditorArrow: a single, unified semantic model that defines shared state and event handling. We study the properties of EditorArrow, and of editors in particular. Furthermore, we present the definedness properties of the combinators. A reference implementation of the EditorArrow model is given with some small program examples. We discuss formal reasoning about the model using the proof assistant Sparkle. The availability of this tool has proved to be indispensable in this endeavor.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2012
Submit a response

Discussions

No Discussions have been published for this article.