Decoding: programming beyond text files
summary
Argues that editing and merging should work on syntax trees not lines, demonstrates an AST editing workflow using Python's ast module, and describes a structured merge that always emits valid Python (with notes about preserving comments and representing conflicts as syntax nodes). Shows a working visual language called flowbot compiled to Python and run on MicroPython robots, reports it prevents invalid connections so there are “no wrong programs only surprising ones,” and proposes a project‑wide tree/CRDT for code plus issues.
AI-written summary · about
chapters (20)
- 0:00Intro
- 1:00Computing folklore
- 4:45Printing code
- 5:35ASCII
- 6:21CSV
- 7:02C
- 8:54AST
- 9:35Editing AST
- 10:34Structured editing
- 11:29Revision control
- 12:22Conflicts
- 13:11Change Operations
- 13:39Structure Merges
- 15:16hypertext
- 16:10visual programming
- 17:41javascript
- 18:17flobot
- 18:59multiple representations
- 19:49issues and requirements
- 20:24crossreferencing
related talks
30mDoing stupid things with ASTs
25mPython as a Hackable Language for Interactive Data Science
27mOh You Who Enter, Abandon All Hope
36mHacking the Python AST
32mCode as Data_ A Practical Introduction to Python’s Abstract Syntax Tree
24mThe AST and Me
49mYou Used Python for What?!
17mUnlocking Python's AST: The Metaprogramming Superpower You Didn't Know You Had
