Awesome Structure Editors [](https://awesome.re)

September 28, 2025 ยท View on GitHub

A list of structural/projectional code editor projects.

Any comments, suggestions? Let us know!

Contents

Foreword

Projectional editing is how almost all document editing applications work nowadays, except for editing source code and text documents, where it is still common to edit plain text files that are parsed to render/compile the result.

This document is a list of projects trying to bring the projectional/structural approach to source code editing.

As evident from the wealth of ongoing and concluded attempts listed below, this problem appears to be either difficult, or impossible. Hopefully one or more of these projects will succeed in realising it and bringing it to the mainstream!

Structural code editor projects

This list includes projects which are actively developed or were maintained recently. Currently the bar for incomplete projects is set arbitrarily at 2020.

Project properties are summarized using unicode/emoji 'flags':

  • Project structure: ๐Ÿ’ต Commercial, ๐ŸŽ“ Academic, โ™ก Accepts donations
  • UX: ๐Ÿ“– Uses text files, โคด๏ธ Visual programming, โŒจ๏ธ Text editing like UX
  • Target languages: ๐Ÿ‘ถ New language, ฮป Functional, ๏ฝŸ Lisp-based, โ˜• JavaScript/TypeScript, ๐Ÿงฐ Language Workbench
  • Platform support: ๐ŸŒ Works in browser, ๐ŸชŸ Microsoft Windows only
  • Other: ๐Ÿ”จ Is in some production use, ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Not intended for programmers, ๆ–‡ Localization support
ProjectPropertiesDescriptionWritten inโญ๏ธUpdated
Enso๐Ÿ’ต ๐Ÿ“– โคด๏ธ ๐Ÿ‘ถ ฮปHybrid visual+textual programming languageScala, Rust74412025
Unison๐Ÿ’ต ๐Ÿ“– ๐Ÿ‘ถ ฮปCode database projected to text-files edited in your text editor of choice. Originally centered around having a projectional editor, but pivoted to creating a cloud programming language firstHaskell62062025
Unitโคด๏ธ ๐Ÿ‘ถ ๐ŸŒA general purpose visual programming systemTypeScript43792025
Lamduโ™ก โŒจ๏ธ ๐Ÿ‘ถ ฮป ๆ–‡Language with live programming and novel UX for type errorsHaskell18732025
MPS๐Ÿ’ต โŒจ๏ธ ๐Ÿงฐ ๐Ÿ”จLanguage workbench for projectional languagesJava16152025
Cursorlessโ™ก ๐Ÿ“– ๐Ÿ”จSpoken language for structural code editingTypeScript12662025
Hazel๐ŸŽ“ โŒจ๏ธ ๐Ÿ‘ถ ฮป ๐ŸŒLanguage with live programming and typed holesReason10382025
SaplingโŒจ๏ธVim/Kakoune-inspired modal structured editor for existing languagesRust7572025
JOY.jsโ™ก ๐Ÿ‘ถ ๐Ÿงฐ ๐ŸŒ ๐Ÿ”จ ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆLanguage workbench for programmable demosJavaScript5682018
Fructure๏ฝŸ ๐ŸงฐA projectional editor workbench for Racket-implemented languagesRacket4802024
SplootCodeโŒจ๏ธ ๐ŸŒA structural editor for Python, aimed towards beginnersTypeScript4572024
tylr๐ŸŽ“ โŒจ๏ธ ฮป ๐ŸŒA tiny tile-based editor for well-formedly manipulating sequences of tokensReason3092025
Eyg๐Ÿ‘ถ ฮป ๐ŸŒMinimal language to enable exploration of alternative editing methodsGleam2482025
Cirru๏ฝŸA tree editor for ClojureScriptClojure2292025
Holbert๐ŸŽ“ ๐ŸŒA graphical interactive proof assistant designed for educationHaskell1692024
Vlojureโคด๏ธ ๏ฝŸ ๐ŸŒA novel visual UX for ClojureScriptClojure1462022
ProjecturEd๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆGeneral purpose projectional editorCommon Lisp1412022
Tofuโ™ก โ˜•VSCode extension for structured editing of JavaScript and TypeScriptTypeScript1022024
Subtext๐Ÿ‘ถA series of inspiring presentations and projects exploring ideas in projectional editingTypeScript1012022
Envision๐ŸŽ“ ๐Ÿ‘ถEditor for a Java/C++ like languageC++992022
Pantograph๐ŸŽ“ โŒจ๏ธ ๐Ÿ‘ถ ฮป ๐ŸŒA fluid and typed structure editorPureScript932025
FreonโŒจ๏ธ ๐Ÿงฐ ๐ŸŒWeb-based Projectional Language WorkbenchTypeScript712025
Forestโ˜• ๐ŸŒA prototype tree editor for TypeScriptTypeScript602023
Lisperantoโ™ก ๏ฝŸ ๐ŸŒIDE for Lisp-like languageJavaScript452025
FoundryฮปA projectional editor for the Morte languageHaskell292025
Gopcaml-mode๐Ÿ“– ฮป ๐Ÿ”จStructural editing Emacs plugin for OCaml codeOCaml232022
Frugel๐ŸŽ“ โŒจ๏ธ ๐Ÿ‘ถ ฮปA research exploring a novel UX for textual entry of codeHaskell192022
Javardise๐ŸŽ“ ๐Ÿ“–Editor for a subset of JavaKotlin62025
Algot๐ŸŽ“ ๐Ÿ‘ถ โคด๏ธ ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ ๐ŸŒA live, graph-based language for programming by demonstration??2024
Flowgorithm๐Ÿ‘ถ โคด๏ธ ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ ๆ–‡ ๐ŸชŸAn Educational, flowcharts based graphical language??2024
Alfa๐ŸŽ“ ฮปAn editor for Agda which doesn't allow incorrect codeHaskell-2020
OCell๐Ÿ‘ถ ๐ŸŒ??-2020

Unreleased Projects

ProjectPropertiesDescription
RocฮปA performance oriented functional programming language with a structural editor.
Neurion๐Ÿ’ต ๐Ÿ‘ถ ฮปTODO

Concluded or inactive projects

ProjectTime_PeriodPropertiesDescription
Darklang Classic2017 - 2024๐Ÿ’ต โŒจ๏ธ ๐Ÿ‘ถ ฮป ๐ŸŒPlatform and language as a service for app backends and web with structural editor. Transitioned to text-based editing.
Inflex2020 - 2022๐Ÿ’ต ๐ŸŒ ๐Ÿ‘ถ ฮปA spreadsheet-inspired functional programming language
Intentional software1990s - 2017๐Ÿ’ตStarted as a Microsoft project to develop a projectional editor in the late 1990s (see video from 2000), which later spun up as an independent company, which later pivoted to develop a language workbench. Despite being founded and self-funded by a Billionaire, it was ultimately acquired by Microsoft at 2017, with the original projects being cancelled (afaik).
Eve2014 - 2018๐Ÿ’ต ๐Ÿ‘ถA startup that made a series of experimental programming systems and was shut down in 2018.
Prune2015An internal research project in Facebook. Concluded in it 'being promising' but according to them 'programmers don't spend that much time manipulating programs compared to all the other things they do. Enabling programmers to do a 50% better job of a task requiring 10% of their time just doesn't make economic sense' (redacted quote).
Novella2019 - 2020A structural editor infrastructure, in 2020 author moved on to develop Inflex instead.
Expressions of Change2017 - 2018TODO
Isomorf2017?๐Ÿ’ต ๐ŸŒ ๐Ÿ‘ถ ฮปA startup developing an in-browser editor for a language that can appear in a syntax of the user's choosing among a few options appearing like different popular programming language
Omni2013 - 2017๐Ÿ‘ถTODO
Viskell2015 - 2017ฮปVisual programming meets Haskell
Zinal2015 - 2017๐Ÿ‘ถTODO
Golem2014 - 2016๐ŸŽ“ ๐Ÿ“– โŒจ๏ธ ๐Ÿ‘ถ ฮป ๏ฝŸ ๐ŸŒOnline tree editor and debugger for Shem, a functional LISP-like language which compiles to JavaScript
Cedalion? - 2013๐ŸŽ“ ๐Ÿ‘ถTODO
TFlow1994 - 1995๐Ÿ’ต ๐Ÿ‘ถ โคด๏ธ ๐ŸŒ ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ ๆ–‡Educational Graphical flow-chart based programming language with interpreter and Arduino-like compiler

Blocks Programming Editors

Blocks Programming languages/editors are a specific kind of structural programming editors, where the code is structured in a manner similar to 'lego blocks' supporting 'drag and drop' editing.

SystemPropertiesWritten in
Alice๐ŸŽ“Java
Hopscotch๐Ÿ’ต?
Microsoft MakeCode๐Ÿ’ต ๐Ÿ‘ถ ๐ŸŒ?
Scratch๐ŸŽ“ ๆ–‡ ๐Ÿ‘ถ ๐ŸŒJavaScript
Snap๐ŸŽ“ ๆ–‡ ๐ŸŒ?

Spreadsheet-based projects

SystemPropertiesWritten in
Flowsheets?
MeshJavaScript
Object Spreadsheets๐ŸŽ“TypeScript

Other notable projects

Not sure in which category these projects fit in:

SystemPropertiesDescriptionWritten in
Apparatus๐ŸŽ“ ๐ŸŒHybric diagrams editorCoffeeScript
Cycle.js Dev Toolsโ™กDataflow debuggingTypeScript
JSON Editor๐ŸŒJSON schema-based editorJavaScript
Greenfoot/BlueJ๐ŸŽ“Structure-text hybridJava

Resources

Community