From: Jeff Rubard on
Or, a Note on the "axiomatic semantics" of Unstructured Jumps

⊥

There, I said it. What did I say? A falsehood, for the symbol above
denotes 'bottom' *or* 'falsum' - a 'zero-place' logical operator that
'denotes' something false. How it /do/ that? Like this: the falsum is
defined by its 'suitability' for forcing an application of *ex falso
quodlibetal*, "from a falsehood one draws any conclusions one likes".
What of it, as regards Goto in the *langages divers* in which it
appear-ez? Actually, the logical role of 'falsum' very precisely
"maps" or /stipulates/ the character of the "unstructured jump":

As Hoare's programming semantics gives triadic "before-and-after-and-
during" conditions for change of state in 'imperative' programming
languages, the unstructured jump GOTO [BASIC version] is "rendered" by
falsum or an *Ersatz* for it. However, what Kemeny knew Stroustrup put
asunder, and the *logica* of Dijkstra's imprecation of the thing is
best derived from a consideration of C style as regards goto: and its
uses. C goto is not a piece of *mechaniqué* used to implement the most
"machinic" high-level construct for abstract-machine change: instead,
it sets up an "infinite loop" that the programmer *definitely intends*
never to cease

if the program has *proper operation*. How-ever, the point is more
"multifarious" than these non-koans of 'there-you-do-it-now-you-can't'
might *indicate*: in fact, as "ex falso" prompts the *risorgimento* of
non-contradictory groups of statements, /falsum-Goto/ suggests that
*there is more in heaven and earth than in your momentary programming
philosophy*: in fact, conditions of *Informatik* are more congenial
than you knew at program's /authorship/ and data-crunching can
continue apace without one local "subroutine" or /paradigm/.

Something to think about.

JDR