# Academic research on structured editors

**URL:** https://d.strumenta.community/t/academic-research-on-structured-editors/1148
**Category:** Misc
**Created:** [March 4, 2021, 6:11pm UTC](https://d.strumenta.community/t/academic-research-on-structured-editors/1148 "2021-03-04T18:11:00Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![eelcovisser](https://d.strumenta.community/user_avatar/d.strumenta.community/eelcovisser/32/81_2.png) [@eelcovisser](https://d.strumenta.community/u/eelcovisser)
#### Post date: [March 4, 2021, 6:11pm UTC](https://d.strumenta.community/t/academic-research-on-structured-editors/1148/1 "2021-03-04T18:11:00Z")

</div>

Triggered by the text vs projectional editors: a list of structure/projectional editor projects in academia.

---

<div class="post-metadata">

### Author: ![eelcovisser](https://d.strumenta.community/user_avatar/d.strumenta.community/eelcovisser/32/81_2.png) [@eelcovisser](https://d.strumenta.community/u/eelcovisser)
#### Post date: [March 4, 2021, 6:13pm UTC](https://d.strumenta.community/t/academic-research-on-structured-editors/1148/2 "2021-03-04T18:13:26Z")

</div>

Hazelnut is a project by Cyrus Omar ([Cyrus Omar](https://web.eecs.umich.edu/~comar/)) and co.

POPL 2017  
Hazelnut: A Bidirectionally Typed Structure Editor Calculus  
Cyrus Omar, Ian Voysey, Michael Hilton, Jonathan Aldrich and Matthew A. Hammer

POPL 2019  
Live Functional Programming with Typed Holes  
Cyrus Omar, Ian Voysey, Ravi Chugh and Matthew A. Hammer

It might be good to invite Cyrus for a talk here.

---

<div class="post-metadata">

### Author: ![eelcovisser](https://d.strumenta.community/user_avatar/d.strumenta.community/eelcovisser/32/81_2.png) [@eelcovisser](https://d.strumenta.community/u/eelcovisser)
#### Post date: [March 4, 2021, 6:15pm UTC](https://d.strumenta.community/t/academic-research-on-structured-editors/1148/3 "2021-03-04T18:15:06Z")

</div>

sketch-n-sketch is a project by Ravi Chugh et al.

[https://ravichugh.github.io/sketch-n-sketch/](https://ravichugh.github.io/sketch-n-sketch/)

quote:

> programming + direct manipulation + html/svg
> 
> Direct manipulation interfaces are useful in many domains, but the lack of programmability in a high-level language makes it difficult to develop complex and reusable content. We envision _direct manipulation programming systems_ that allow users the benefits of general-purpose programming languages but with less keyboard-based text editing and more mouse-based direct manipulation. Sketch-n-Sketch is currently a direct manipulation programming system for creating HTML and SVG documents. We imagine similar possibilities for many other programming and design settings as well.

---

<div class="post-metadata">

### Author: ![meinte.boersma](https://d.strumenta.community/user_avatar/d.strumenta.community/meinte.boersma/32/71_2.png) [@meinte.boersma](https://d.strumenta.community/u/meinte.boersma)
#### Post date: [March 5, 2021, 7:47am UTC](https://d.strumenta.community/t/academic-research-on-structured-editors/1148/4 "2021-03-05T07:47:24Z")

</div>

King’s College (but not Laurence Tratt) has made this: [https://www.greenfoot.org/frames/](https://www.greenfoot.org/frames/)

---

<div class="post-metadata">

### Author: ![steffen.zschaler](https://d.strumenta.community/user_avatar/d.strumenta.community/steffen.zschaler/32/216_2.png) [@steffen.zschaler](https://d.strumenta.community/u/steffen.zschaler)
#### Post date: [March 5, 2021, 10:55am UTC](https://d.strumenta.community/t/academic-research-on-structured-editors/1148/5 "2021-03-05T10:55:21Z")

</div>

Meinte, yes, a structural editor, but not fully projectional, I think. Very interesting nonetheless, especially with some of the UX ideas and how they are using this for programming education.

Laurie also has his editor composition framework, Eco - [Software Development Team: Eco: a Language Composition Editor](https://soft-dev.org/src/eco/)

---

<div class="post-metadata">

### Author: ![meinte.boersma](https://d.strumenta.community/user_avatar/d.strumenta.community/meinte.boersma/32/71_2.png) [@meinte.boersma](https://d.strumenta.community/u/meinte.boersma)
#### Post date: [March 5, 2021, 12:16pm UTC](https://d.strumenta.community/t/academic-research-on-structured-editors/1148/6 "2021-03-05T12:16:01Z")

</div>

@steffen.zschaler Personally, I don’t care so much about the distinction between structural (or structured) vs. projectional editing. I haven’t come across a definition of either that makes enough sense to me to be able to see them as fundamentally different. Maybe I didn’t look closely enough, though 😉

@eelcovisser Thanks for starting this thread.

---

<div class="post-metadata">

### Author: ![tajmone](https://d.strumenta.community/user_avatar/d.strumenta.community/tajmone/32/387_2.png) [@tajmone](https://d.strumenta.community/u/tajmone)
#### Post date: [March 12, 2021, 2:00am UTC](https://d.strumenta.community/t/academic-research-on-structured-editors/1148/7 "2021-03-12T02:00:21Z")

</div>

@meinte.boersma:

> King’s College (but not Laurence Tratt) has made this: [https://www.greenfoot.org/frames/](https://www.greenfoot.org/frames/)

I’ve read through the _What Is Frame-Based Editing?_ article and found it very interesting. Although I don’t see these type of editors as good substitution candidates for standard code editors (I just can’t imagine having to sacrifice multi-cursor editing, and those quick hacks that are available in most modern editors), they surely are of great value for many applications, not just for code beginners.

In particular, I was thinking that this approach could be really valuable for editing lightweight markup syntaxes (e.g. AsciiDoc), because they could visually represent a document’s AST, abstract away some formatting constructs (hiding them, to make the document more readable) and enforce consistent syntax styles in source documents.

Undoubtedly, this approach could really turn documents editing into a pleasant experience, lifting some visual strain from it — especially if taking advantage of an HTML5/CSS3 editor component, which would allow styles to be applied to various frames, according to their semantics. It would be an hybrid between a WYSIWYG editor and a classical text editor, taking the best from both worlds: the structural integrity guarantees and style previewing of the former, and the low-level editing capabilities of the latter.

And I’m sure that frames would also allow quicker navigation through long documents, or hiding selected frames or intervals, as well as to easily show related contents as if they visually adjacent. Frames being similar in structure to an HTML page DOM, it’s easy to imagine their manipulation potential.

I’m actually quite surprised that frame-based editing hasn’t been experimented with in digital publishing, for it could make a huge difference in editing DocBook, LaTex, etc.

---

<div class="post-metadata">

### Author: ![jos.warmer](https://d.strumenta.community/user_avatar/d.strumenta.community/jos.warmer/32/84_2.png) [@jos.warmer](https://d.strumenta.community/u/jos.warmer)
#### Post date: [March 13, 2021, 12:57pm UTC](https://d.strumenta.community/t/academic-research-on-structured-editors/1148/8 "2021-03-13T12:57:50Z")

</div>

_Frame-Based Editing_ looks like a hybrid between projectional/structural and textual editing. I find ideas of hybrid editing interesting as they might provide more flexibility than “pure” approaches, like i.e. all text or all projectional or all graphical.
