HackerTube

(ninth RacketCon): Andrew Blinn – Fructure: A Structured Editing Engine in Racket

Racket2 HN recommenders · recommended in 1 month, 2019–2021
YouTube
talk · advanced · evergreen · 2019–2021 on HN

A RacketCon talk presenting Fructure, a prototype extensible structured editing engine in Racket. Language providers define syntactic forms and refactorings as rewrite rules, and editing operates on program structure rather than on text.

Cited as a leading example of structural editing whenever threads discuss alternatives to text-based code editors.

7 comments from Hacker News

@disposedtrolley2020-08 · in “MicroBlocks: Scratch and Smalltalk-inspired MCU VM for live embedded programming”

I've seen a few attempts at "structure editors" which are keyboard driven but limit what you can type so it's always syntactically correct. Fructure is an example which looked promising! ▶ this video

Recommends View on HN
@loosetypes2020-08 · in “Hazel: A live functional programming environment featuring typed holes”

For folks interested in this sort of thing, Andrew Blinn gave a neat talk[1] pertaining to structured editing at Racketcon, which credits Cyrus’ work with Hazel. [1] ▶ this video

Recommends View on HN
@disconcision2021-08 · in “Snap is Scheme disguised as Scratch [pdf]”

using a lisp here simplifies things from implementation and interaction model perspectives. you already have a simple, canonical AST out of the box, which in-principle suffices to support the entire language, not just a toy version. so it makes sense lisps are attractive targets for getting something rolling in this space, though it's certainly debatable whether it's long-term the best choice. (my own efforts in this space (a structured editor in racket), which i was able to get going as a novice programmer: ▶ this video )

@spaethnl2020-04 · in “Simula: A VR window manager for Linux”

I'm not sure I agree with the parent, but to give an example for a non-rectangular UI for manipulating (programming) text: Combine structural editing[1] overlaid on some kind of 3d graph that shows how your entire codebase fits together. [1] ▶ this video

@threatofrain2019-12 · in “Lisp Programming in Vim with Slimv or Vlime”

In my mind the main reason why Vim still has relevance today is for seat-of-your-pants SSH'ing, which admittedly shouldn't be done but it still is. Outside of that... I still have hope for structural editing but I don't see Vim as the innovator in that space anymore. ▶ this video