I intend to build a general purpose
Or projectional editor. Or tree editor.
We have too many names for this thing.
How about we call it an AST editor instead?
Eventually I’ll write up my motivation for writing a tree editor, but
in the meantime, here are other people’s similar reasoning:
Audacious Projects to Reinvent all of Programming
Hip Tree Editors
- Isomorf with online demo ([HN][hn:isomorph]). First
impressions: great discoverability (entered a switch statement
without knowing its syntax); annoying to scroll with arrow keys
(inorder navigation); surprisingly difficult to enter numbers; my
fibonacci function failed with an “unevaluatable” error; slow
(sometimes had a half-second delay after keypress, or to fill an
- Flense for Clojure, by Max Kreminski
- Plastic for ClojureScript, by Antonin Hildebrand. I’m a
little confused here, because ClojureScript is a compiler, not a
- Cirru: “edit S-Expression and generate Clojure”.
Expands on s-expression syntax to allow indentation to (optionally)
replace parentheses. Has an online demo of a (rather limited) tree
- Lamdu: tree editor and live coding environment.
- Projectured: a “general purpose tree editor written in
- Scheme Bricks.
Academic Papers about Tree Editing
Venerable Old Academic Tree Editors
Not quite Tree Editors
- Frame-Based Editing (HN). Every line is text,
but lines are organized into a tree of nested frames.
- Tree Sheets: a free form data organizer, like
spreadsheets but for trees.
- Parinfer: lisp editor that can infer parentheses from
indentation. This sounds scary, but it actually looks very well
- Paredit is a treeish
editor glued onto emacs for editing elisp and its ilk. It does not
balance parentheses, however. For example, C-w does not preserve
- Structured Haskell Mode for emacs. I haven’t tested it
yet, but don’t give it good odds of guaranteeing well-formedness.
Quite not Tree Editors