Special Nodes#
Most of the time, any node name occurring in a Meson script must refer to a node that was either defined in, or imported into, the module where the script is defined. However, certain “special nodes” may be introduced in Meson scripts, which do not exist outside the script.
“Under construction” nodes#
Any node whose name begins with an exclamation mark (!
) is an
under construction or “UC” node.
UC nodes provide a way to mark a proof as incomplete, and to be finished later. Like a “stub article” in Wikipedia, this makes it possible to get some work started, while leaving it to another time, or another person, to complete the work.
When deductions are displayed graphically, UC nodes are linked into the flow of the diagram like any other node, and they have a special appearance, showing an “UNDER CONSTRUCTION” sign.
When a given deduction only needs a single UC node, it makes sense to use the
name !
, which is the simplest possible name for a UC node.
If multiple UC nodes are required, it makes sense to use names like
!1
, !2
, and so forth.
Question nodes#
Any node whose name begins with a question mark (?
) is a question node.
Question nodes provide a way to mark a deduction as requiring further discussion before it can be completed.
When deductions are displayed graphically, question nodes are linked into the flow of the diagram like any other node, and they have a special appearance, showing a question mark.
There are two ways to use question nodes:
as a reason, meaning, “I don’t see how this follows,” or “Something more is needed.”
as a consequence, meaning, “I don’t see where this is used.”
As a reason#
When a proof contains a deduction arrow from A
to B
, then we can refer
to A
as a reason for B
. If a question node is provided as a reason
for node B
, it should be interpreted to mean that the author believes
something more is needed in order to infer B
.
As a consequence#
When a proof contains a deduction arrow from A
to B
, then we can refer
to B
as a consequence of A
. If a question node is provided as a
consequence of node A
, it should be interpreted to mean that the author
does not see where node A
is meant to be used.