<Drakon> is a visual programming language. I haven...
# linking-together
k
Drakon is a visual programming language. I haven't dug into the modern editor implementation yet; the language description pdf is lovely just as an opinionated guide to drawing clear visual descriptions of programs.
g
In my experience, the big wins in Drakon are: 1. smart editing 2. skewers 3. rules about control flow (i.e. the PDF that Kartik referenced) Skewers provide an "obvious" way to structure sequential control flow. Smart editing moves skewers aside to make room for wider code boxes - a very convenient, low-stress, low-mess way to create Drakon diagrams. Skewer-based control flow is "obvious" to human readers and tends to de-tangle program control flows. It's akin to "structured programming" for flowcharts, unlike, say Nassi-Shneiderman diagrams and Scratch, which are less "obvious" to human readers and visually more complex.
I used Dragon in a real project, and, I hacked on the editor code to try to incorporate Lisp - actually a difficult task, since Lisp has a recursive syntax whereas most other languages have line-by-line syntaxes. The line-by-line assumption tends to get wired in at deep levels in almost all editors, Drakon notwithstanding.
t
those are some really great layout rules. At my work we already had the single exit rule for graphical representations but that pdf has a bunch more that I think we could use to improve legibility like skewers and horizontal returns.
I found a cool online version https://stepan-mitkin.github.io/drakonwidget/ with a backing open source repo.