- Frame-based code editing.
- This editor is mostly intended for learning but I believe it can be adapted for professional work, too.
- Darklang — a radical approach of designing a new language and code editor together.
Jetbrains MPS. Nice idea of projections and different levels of abstractions.
- Markus Völter: The future of DSLs - functions and formal methods. This talk has some examples of languages implemented with MPS.
- Cool ideas are different domain-specific views. Decision tables/trees are very generic though.
- Prune: A Code Editor that is Not a Text Editor | Facebook — an experiment on building an AST based code editor.
disconcision/fructure — a structural editing engine for racket.
- based on editing with holes
- the cursor is embedded in the tree itself
- Andrew Blinn – Fructure: A Structured Editing Engine in Racket (presentation)
- can evaluate incomplete code or code with type errors
- allows user to reassign type errors to another node
automatically re-evaluates code (except effectful computations)
If the programming language makes a distinction between pure computations and actions, like Haskell does,
The IDE could automatically evaluate only the programmer’s pure computations, and require an explicit action from the user to execute effectful code.
Hazel — first-class typed holes
- tehwalris/forest—tree editor for TypeScript
- Subtext — non-text language which is purely functional with side-effects modeled through state
- Kosmos — projectional editor for clojure.