DocumentCode
3720797
Title
Thinking in blocks: Implications of using abstract syntax trees as the underlying program model
Author
Daniel Wendel;Paul Medlock-Walton
Author_Institution
Scheller Teacher Education Program, Massachusetts Institute of Technology, Cambridge, MA, USA
fYear
2015
Firstpage
63
Lastpage
66
Abstract
This paper examines the implications of using Abstract Syntax Trees (ASTs) as the underlying model for program editors and source control. For editors, working at the level of the AST enables error prevention, efficient auto-completion, and seamless use of multiple representations (e.g. blocks-to-text-to-blocks). An AST-based system also lends itself to both real-time and asynchronous collaborative editing, through intention-preserving algorithms much simpler than Operational Transformations. AST-based asynchronous collaborative editing makes several improvements to source control compared to Git, notably: reducing conflicts even in same-position edits, and eliminating diffs (and therefore conflicts) due to changes in formatting, spacing, or method ordering. Even text-based languages can reap these benefits, simply by changing the underlying program representation from text to AST.
Keywords
"Collaboration","Syntactics","Real-time systems","Programming","Conferences","Sockets","Arrays"
Publisher
ieee
Conference_Titel
Blocks and Beyond Workshop (Blocks and Beyond), 2015 IEEE
Type
conf
DOI
10.1109/BLOCKS.2015.7369004
Filename
7369004
Link To Document