Combining inference and support#
Now that we have both the inf and sup keyword categories, we have to understand how they work together.
As a first example, try putting
A, so B, by C.
What graph do you suppose is produced by the following Meson script?
A so B by C therefore D
It’s clear that there will be three arrows:
sodraws an arrow from
bydraws an arrow from
thereforedraws an arrow that terminates at
But will the arrow terminating at
D begin from
B or from
In other words, what are we saying
D follows from?
B, or from
The Meson script is saying that
D follows from
B, not from
Conceptually, we might say that Meson is somewhat biased toward a “forward flow” of deduction, in the sense that “by” or support statements should be thought of as nested parenthetically within an overall “so” or inference flow.
A so B gets us an arrow from
B, then the
parenthetically nudges in an arrow from
B, and then we resume the
overall forward flow with an arrow from
D. To be precise:
An inf keyword always draws a deduction arrow from the most recently inferred node (like
Bin this example), NOT from any nodes that may have been mentioned in support (like
Cin this example).
Using just the language features we have considered so far, we can already build up a fairly complex graph:
A, so B, therefore C by D and E. Hence F, using G, so H.
Remember, the punctuation and word variation are just there to make the script more pleasant for a human being, and the very same graph could have been produced by a simpler but more monotonous sounding script:
A so B so C by D and E so F by G so H
This is noted in order to demonstrate how simple the Meson language actually is, but please, don’t write scripts like this!