Тёмный
No video :(

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

Racket
Подписаться 4,2 тыс.
Просмотров 8 тыс.
50% 1

Fructure is a prototype for an extensible structured editing engine. In structured editing, core edit actions reflect the extended selves of the objects you're bringing to life (grammatical programs with semantic properties), as opposed to the shape of their serialization (text files). Editing abstractions like cursors and code-folding are reimagined as syntactic scaffolding in a meta-grammar of syntactic affordances. Fructure lets language providers specify syntactic forms and semantic refactorings as production and transformation rules in a tiny term-rewriting DSL. Lessening reliance on after-the-fact correction or ad-hoc autocompletion, program creation consists rather of a guided search in the space of valid programs. Over the hood, my emphasis is on visual and kinetic appeal; creating a fun, fluid editing process with an eye to discoverability.

Опубликовано:

 

29 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 14   
@gloverelaxis
@gloverelaxis 3 года назад
I really like the idea of a vim-like keyboard-focused editor for code that treats the code like an AST rather than text. I hope one day this becomes the norm - editing code as text is actually insane when you give it enough thought.
@mechadense
@mechadense 11 месяцев назад
Some notable points: 18:06 orange talk section "theory" (till 24:40 lasting 6m34s) "Syntactic affordances": Writing editor level concepts into the AST (holes, cursors, handles, …) 20:11 no too strong focus on formality as of yet 21:11 "term rewriting at edit-time" 22:40 Slide: "How do I fructurize my #lang?" Yes, fructure is actually meant to be just a front-end for lamda-calculus leaning languages like e.g. unison (as mentioned on a later slide). 24:40 violet talk section "extensions" "Eventual correctness": Allowing helpful temporary syntax errors in a controlled way 25:45 rewriting at runtime !! 26:04 turquoise talk section "related work" This more or less last slide lists the unison language among others.
@Rabbleberries
@Rabbleberries 5 лет назад
Incredible work, Andrew! Can't wait to see where this goes.
@lukegleadall8389
@lukegleadall8389 5 лет назад
Great stuff, Andrew. Loved your talk and excited for both you and what you are working on!
@potowogreedo
@potowogreedo 4 года назад
This idea doesn't just have legs, it has usain bolts legs. Incredible!
@qualityedits3083
@qualityedits3083 Год назад
Programming could be soooooooooOOOOOOOOOOOOO much easier and more productive for everyone if more programmers had the imagination of people like Andrew for what *could* be, rather than what *is*.
@thelambdafunction
@thelambdafunction Месяц назад
Great talk... Too bad the audio is so low..
@mechadense
@mechadense 3 года назад
Shortly after 6:03 ... "My preferred alternative is to simply type normally ..."
@RobertLJ11
@RobertLJ11 5 лет назад
Sorry, I am disappointed that I can only give you one thumbs up! - -- Wait a minute how about -- 👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍 There ya go 😁
@HenningDieterichs
@HenningDieterichs 4 года назад
Could this be used as a foundation for a new shell / shell-language?
@disconcision
@disconcision 5 лет назад
If you're curious about fructure you can see a bit more at github.com/disconcision/fructure and andrewblinn.com
@mightymiff
@mightymiff 5 лет назад
I can see some of the novelty here, but almost none of the utility. How is this useful?
@gloverelaxis
@gloverelaxis 3 года назад
All programs are trees. This is a tree editor, not a text editor. Once refined, a tree editor could be substantially faster, more extensible, and less error-prone to work with than any text editor. What you're asking is a little like asking "how is a GUI useful?"
@samhughes1747
@samhughes1747 2 года назад
@@gloverelaxis, "what you're asking is a little like asking..." Yep. That! It basically says, "Hey, This doesn't do what I currently do any better than what I now use. Ergo, it has no value."
Далее
🎙ПОЮ ВЖИВУЮ!
3:17:56
Просмотров 1,5 млн
버블티로 체감되는 요즘 물가2
00:15
Просмотров 1,2 млн
WELCOME TO THE FAMILY, MOE! (Brawl Stars Animation)
00:40
"Hackett: a metaprogrammable Haskell" by Alexis King
33:40