guitarvydas
11/22/2025, 1:00 PMDaniel Harris
11/22/2025, 3:19 PMKonrad Hinsen
11/23/2025, 7:27 AMKonrad Hinsen
11/23/2025, 7:29 AMDaniel Harris
11/23/2025, 6:43 PMKonrad Hinsen
11/23/2025, 7:50 PMTom Larkworthy
11/24/2025, 7:26 AMKonrad Hinsen
11/24/2025, 8:07 AMI think about code as the control plane, vs the running program as the data plane.That's a nice image! I'd add narratives as the documentation plane. My main gripe with traditional notebooks is that they confound the control and the documentation plane, by forcing the two into a single linear structure. But I fully agree that computation in the data plane is what we ultimately care most about, and should be able to inspect, understand, and debug.
Daniel Harris
11/24/2025, 1:43 PMTom Larkworthy
11/24/2025, 1:55 PMsystem -> pixels. If you want to go the other way system <- pixels its a bijection which is reasonable but quite a bit more complicated to develop, so only going one is 20% of the effort for 80% of the gain (i.e. legibility). I did experiment with formalizing directly manipulatable dataviz here https://observablehq.com/@tomlarkworthy/manipulate, which shows promise.Konrad Hinsen
11/24/2025, 4:32 PMDaniel Harris
11/24/2025, 4:48 PMBenji Rappoport
11/25/2025, 12:37 AMguitarvydas
11/25/2025, 10:46 AMsystem <- textual code? If so, my knee-jerk reaction (probably based on a misunderstanding of what I read) is why not do textual code <- pixels, or, better yet, textual code <- [SVG | XML | graphML] then system <- textual code <- graphical representation? It's only syntax, after all. Reduce the problem to one of syntax as a skin stretched over formalization. Converting [SVG | XML | graphML] to executable, textual code is a trivial operation. Reducing visual representations to [SVG | XML | graphML] is an already-solved problem. Easy.Tom Larkworthy
11/25/2025, 11:01 AMKarl Toby Rosenberg
11/26/2025, 1:52 AMguitarvydas
11/26/2025, 4:22 AMKarl Toby Rosenberg
11/26/2025, 4:29 AMguitarvydas
11/26/2025, 4:39 AMvar x : int; retain (type) intent while using text? For stuff like IF...THEN...ELSE, the intent is simply assumed. It is possible to formalize that intent (e.g. with Denotational Semantics), but we don't feel the need to expose the intent in some formal way in the text - we express it in the formalization (e.g. compilers, or Denotational Semantics). We pick and choose certain words from the English language when forming programming languages, we don't bother to formalize all of War and Peace. We might treat graphic representations in the same way - only a few combinations of pixels (boxes, arrows) need to be formalized, the rest are "syntax errors" or "comments".Karl Toby Rosenberg
11/26/2025, 4:40 AMBen McAllister
11/27/2025, 6:39 PM