My biggest interest is in thinking about programming instead of coding.
Make reprogrammable electronic machines do something using whatever means possible.
ATM, I'm using draw.io[1] to draw programs, then t2t to compile draw.io's XML (graphML[2]) to code (say Python), then run.
Articles on my desktop, awaiting attention (coded and running and in github, but need more expansive docs and/or people with more energy):
Experiments with t2t
includes using recursive syntax instead of flat BNF-like syntax
Experiments With Verbatim
transpile code in pipelines, including ways to signal "this has been transpiled already, don't touch it" (spoiler: Unicode brackets)
Experiments with Peephole Optimizers
forget efficiency, just make it work right, then production engineer it
Experiments with DI
Design Intent - make Software Architecture more readable, needing less reverse-engineering of code
Experiments With a Python Indenter
Python is a nasty target language due to indentation syntax, but divide-and-conquer makes it a lot easier to emit Python
Spills over into thinking about markdown as a programming language
Experiments With Simple DPLs
DPL means Diagrammatic Programming Language
making a sensible DPL requires extreme isolation of software units (I call this 0D)
Experiments With Syntax Formatting
Unicode and HTML as part of syntax (we can easily parse it these days (OhmJS, t2t), so why not?)
Experiments With Whitespace in Identifiers
ASCII affected 1950s design choices, Unicode allows new choices
Papers I Love - Overview of Orthogonal Code Generation[3]
Papers I Love - Overview of The Design and Application of a Retargetable Peephole Optimizer[4]
Prolog in JS transpiled from Nils Holm's Scheme version
Meta-syntax for 0D
Meta-syntax for Prolog (goal: Prolog in Python, in Odin, in WASM, etc, etc)
Fooling around with Ceptre
To see what relationships is has with describing asynchronous concurrency
(FYI - I already did a PWL - Papers We Love - on Harel’s StateCharts paper[5])
See Also
References: https://guitarvydas.github.io/2024/01/06/References.html
Blog: https://guitarvydas.github.io/
Videos: https://www.youtube.com/@programmingsimplicity2980
Discord: https://discord.gg/Jjx62ypR
Leanpub: [WIP] https://leanpub.com/u/paul-tarvydas
Gumroad: https://tarvydas.gumroad.com
Twitter: @paul_tarvydas
Bibliography
[1] Draw.io from https://app.diagrams.net
[2] GraphML from http://graphml.graphdrawing.org
[3] J. R. Cordy. An Orthogonal Model for Code Generation.
[4] Jack W. Davidson, and Christopher W. Fraser. The Design and Application of a Retargetable Peephole Optimizer.
[5] StateCharts from https://guitarvydas.github.io/2023/11/27/Statecharts-Papers-We-Love-Video.html