The ladder — step by step
Every rung below is one file GoMeta can read, shown whole with its line numbers, followed by what the GoMeta Engine evaluated for it — the development tools' own printouts, captured from the package, never typed — and, where visibility is the point, the rendered copy the basic renderer writes. Read it after Getting started's first metaLine, or start here: rung 1 assumes Julia and nothing of GoMeta. Every rung is a Julia file — rungs 1 to 6 are committed with the package as ladder_01_what_bls_sees.jl to ladder_06_labels.jl (shown here under the site's names rung-0N_…), rung 1 in C and in LaTeX as well; rung 7 is this site's capture at release 0.4.5, handed to the package to join its examples; the other formats GoMeta reads: Embedding in all kinds of formats. The first four rungs grow ONE file: the lines a rung adds carry a bold number, a tint and a bar at the left edge; a line a rung only touched carries a dotted number, a lighter tint and a yellow bar; the unchanged lines fold away behind a line that opens on a click, and a long box scrolls inside itself until its bar shows the whole file. From rung 5 on each rung is a file of its own. The comments inside each file carry its point; the paragraph before it says what the file leaves unsaid.
Rung 1 — what BLS sees
Before GoMeta can absorb and evaluate the metadata, BLS reads the file and records what it finds as Components: Blocks, Lines and Segments, each of one of three flavors — Text, Meta or Code — and each flavor can contain comments. In the words of the JuliaCon 2026 proposal, "Any line starting with #~ is considered to be a metaline"; here the statement after the marker is hide, a value of the Alterant Visib — what hide does to a copy of the file is rung 2's, rung 1 shows only where it lands. "By positioning such a block just above a block of code or text [no vertical spacing in between] the former gets attached to the latter" — the proposal again; an empty line after a metaLine starts a new Block. The file's own 'metaComponent' and 'metaStatement' are its early names for a Component of flavor Meta and for a statement; its 'sub-section' is nesting under: #~2 opens a metaLine one level deeper than #~, and a deeper metaLine stays under the shallower metaBlock still open above it however many lines lie between — the empty line detaches content from metadata, it does not take #~2 out from under line 8; the levels are rung 5's. Where no statement reaches a Component, nothing applies, and the value is show. The file's own comments say the rest; it is grown from the first Intro-Tour file of GoMeta's early demos: three comment lines re-cut and a markdown Block added.
The full delivery view of rung 1 — every Block and Line with its evaluated values, as the development tools print it
How to read the view: each Component's line names one Block or Line with its flavor and the input lines it spans — L7–L9 are the file's line numbers, #3 is the number BLS gave the Component. A ● row under a Block or Line is one evaluated value, visib => :hide; in the tool's words a Component that carries such a row is a "cell" — this site says Component. The (+) after a value is the row's polarity, a flag reserved for later use and true in every row at this release: it tells nothing yet. The grey handle line is the Component's address — skip it on a first reading. "(no evals — defaults apply)" marks a Component with no evaluated values of its own: it falls under the value of a Component that contains it, else under the Alterant's declared default. The view ends with the run's line — its status and its diagnostics.
File rung-01_what-bls-sees.jl — 3 evals rows on 3 cells (of 6 Blocks · 27 Lines) ├─ Block #2 Text L1–L6 "# This first line is 'Text'. ## This …" (no evals — defaults apply) │ ├─ Line #2 Text L1 "# This first line is 'Text'. ## This …" (no evals — defaults apply) │ ├─ Line #3 Text L2 "# Line 1 above consists of two BLS 'S…" (no evals — defaults apply) │ ├─ Line #4 Text L3 "# Both of flavor: 'Text'. The '##' st…" (no evals — defaults apply) │ ├─ Line #5 Text L4 "# BLS [Block, Line, Segment] Componen…" (no evals — defaults apply) │ ├─ Line #6 Text L5 "# 3 different flavors: 'Code', 'Meta'…" (no evals — defaults apply) │ └─ Line #7 Text L6 "# Each of which can be turned into a …" (no evals — defaults apply) ├─ Block #3 Meta L7–L9 "#~ hide ## This is a first 'metaLine'…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,3)] │ ├─ Line #8 Meta L7 "" (no evals — defaults apply) │ ├─ Line #9 Meta L8 "#~ hide ## This is a first 'metaLine'…" (no evals — defaults apply) │ └─ Line #10 Meta L9 "## The 'Line' above consists of two B…" (no evals — defaults apply) ├─ Block #4 Code L10–L15 "a = 1 ## This is a first 'Line' of 'C…" (no evals — defaults apply) │ ├─ Line #11 Code L10 "" (no evals — defaults apply) │ ├─ Line #12 Code L11 "a = 1 ## This is a first 'Line' of 'C…" (no evals — defaults apply) │ ├─ Line #13 Code L12 "b = 2 ## These two lines of 'Code' fo…" (no evals — defaults apply) │ ├─ Line #14 Code L13 "## The empty line 10 starts this 'Blo…" (no evals — defaults apply) │ ├─ Line #15 Code L14 "## it is NOT attached to any 'metaCom…" (no evals — defaults apply) │ └─ Line #16 Code L15 "## and therefore unaffected by metada…" (no evals — defaults apply) ├─ Block #5 Meta L16–L19 "#~2 ## This second 'metaLine' is kind…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,5)] │ ├─ Line #17 Meta L16 "" (no evals — defaults apply) │ ├─ Line #18 Meta L17 "#~2 ## This second 'metaLine' is kind…" (no evals — defaults apply) │ ├─ Line #19 Meta L18 "## of the first 'metaLine' above and …" (no evals — defaults apply) │ └─ Line #20 Meta L19 "## inherits its 'metaStatement's. Mor…" (no evals — defaults apply) ├─ Block #6 Code L20–L22 "c = 3 ## This 'Line' of 'Code' IS att…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,6)] │ ├─ Line #21 Code L20 "c = 3 ## This 'Line' of 'Code' IS att…" (no evals — defaults apply) │ ├─ Line #22 Code L21 "## to the 'metaBlock' of "#~2" (no em…" (no evals — defaults apply) │ └─ Line #23 Code L22 "## which in turn inherits from the fi…" (no evals — defaults apply) └─ Block #7 Text L23–L27 "md"""⏎This is a 'Block' of markdown t…" (no evals — defaults apply) ├─ Line #24 Text L23 "" (no evals — defaults apply) ├─ Line #25 Text L24 "md"""" (no evals — defaults apply) ├─ Line #26 Text L25 "This is a 'Block' of markdown text - …" (no evals — defaults apply) ├─ Line #27 Text L26 "The empty line above starts it, so it…" (no evals — defaults apply) └─ Line #28 Text L27 """"" (no evals — defaults apply) ── the run: status PROCESS_OK · no diagnostics
The Component-tree view of rung 1 — every Block, Line and Segment with the facts BLS recorded about it (the Bool row) and its numbers (the Int64 row)
File rung-01_what-bls-sees.jl — 6 Blocks · 27 Lines · 12 Segments ├─ Block #2 Text L1–L6 │ │ Int64 idComponent=2 idParent=1 idxString=0 inputLineNum=1 numChildren=6 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ Bool containsText isText │ ├─ Line #2 Text L1 │ │ │ Int64 idComponent=2 idParent=2 idxString=0 inputLineNum=1 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool containsText isText │ │ ├─ Segment #2 Text L1 "# This first line is 'Text'. " │ │ │ Int64 idComponent=2 idParent=2 idxString=1 inputLineNum=1 numChildren=0 startMainStr=1 stopMainStr=29 idExtension=0 idExtended=0 │ │ │ Bool includeInOutFile containsText isText │ │ └─ Segment #3 Text L1 "## This is a 'comment' of 'Text'." │ │ Int64 idComponent=3 idParent=2 idxString=1 inputLineNum=1 numChildren=0 startMainStr=30 stopMainStr=62 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsText isText │ ├─ Line #3 Text L2 "# Line 1 above consists of two BLS 'Segment…" │ │ Int64 idComponent=3 idParent=2 idxString=2 inputLineNum=2 numChildren=0 startMainStr=1 stopMainStr=56 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ ├─ Line #4 Text L3 "# Both of flavor: 'Text'. The '##' starts a…" │ │ Int64 idComponent=4 idParent=2 idxString=3 inputLineNum=3 numChildren=0 startMainStr=1 stopMainStr=54 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ ├─ Line #5 Text L4 "# BLS [Block, Line, Segment] Components can…" │ │ Int64 idComponent=5 idParent=2 idxString=4 inputLineNum=4 numChildren=0 startMainStr=1 stopMainStr=59 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ ├─ Line #6 Text L5 "# 3 different flavors: 'Code', 'Meta' and '…" │ │ Int64 idComponent=6 idParent=2 idxString=5 inputLineNum=5 numChildren=0 startMainStr=1 stopMainStr=49 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ └─ Line #7 Text L6 "# Each of which can be turned into a flavor…" │ Int64 idComponent=7 idParent=2 idxString=6 inputLineNum=6 numChildren=0 startMainStr=1 stopMainStr=62 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText ├─ Block #3 Meta L7–L9 │ │ Int64 idComponent=3 idParent=1 idxString=0 inputLineNum=7 numChildren=3 startMainStr=7 stopMainStr=9 idExtension=0 idExtended=0 │ │ Bool depth1 attachedToMeta containsMeta isMeta │ ├─ Line #8 Meta L7 "" │ │ Int64 idComponent=8 idParent=3 idxString=0 inputLineNum=7 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ ├─ Line #9 Meta L8 │ │ │ Int64 idComponent=9 idParent=3 idxString=0 inputLineNum=8 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool depth1 containsMeta isMeta │ │ ├─ Segment #4 Meta L8 "#~ hide " │ │ │ Int64 idComponent=4 idParent=9 idxString=8 inputLineNum=8 numChildren=0 startMainStr=1 stopMainStr=8 idExtension=0 idExtended=0 │ │ │ Bool depth1 includeInOutFile containsMeta isMeta hasMetaStr │ │ └─ Segment #5 Meta L8 "## This is a first 'metaLine' (incl. this c…" │ │ Int64 idComponent=5 idParent=9 idxString=8 inputLineNum=8 numChildren=0 startMainStr=9 stopMainStr=59 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ └─ Line #10 Meta L9 "## The 'Line' above consists of two BLS 'Se…" │ Int64 idComponent=10 idParent=3 idxString=9 inputLineNum=9 numChildren=0 startMainStr=1 stopMainStr=51 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #4 Code L10–L15 │ │ Int64 idComponent=4 idParent=1 idxString=0 inputLineNum=10 numChildren=6 startMainStr=10 stopMainStr=15 idExtension=0 idExtended=0 │ │ Bool containsCode isCode │ ├─ Line #11 Code L10 "" │ │ Int64 idComponent=11 idParent=4 idxString=0 inputLineNum=10 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsCode isCode │ ├─ Line #12 Code L11 │ │ │ Int64 idComponent=12 idParent=4 idxString=0 inputLineNum=11 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool containsCode isCode │ │ ├─ Segment #6 Code L11 "a = 1 " │ │ │ Int64 idComponent=6 idParent=12 idxString=11 inputLineNum=11 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ │ Bool includeInOutFile containsCode isCode │ │ └─ Segment #7 Code L11 "## This is a first 'Line' of 'Code'." │ │ Int64 idComponent=7 idParent=12 idxString=11 inputLineNum=11 numChildren=0 startMainStr=7 stopMainStr=42 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #13 Code L12 │ │ │ Int64 idComponent=13 idParent=4 idxString=0 inputLineNum=12 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool containsCode isCode │ │ ├─ Segment #8 Code L12 "b = 2 " │ │ │ Int64 idComponent=8 idParent=13 idxString=12 inputLineNum=12 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ │ Bool includeInOutFile containsCode isCode │ │ └─ Segment #9 Code L12 "## These two lines of 'Code' form a 'Block'…" │ │ Int64 idComponent=9 idParent=13 idxString=12 inputLineNum=12 numChildren=0 startMainStr=7 stopMainStr=60 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #14 Code L13 "## The empty line 10 starts this 'Block' an…" │ │ Int64 idComponent=14 idParent=4 idxString=13 inputLineNum=13 numChildren=0 startMainStr=1 stopMainStr=75 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #15 Code L14 "## it is NOT attached to any 'metaComponent…" │ │ Int64 idComponent=15 idParent=4 idxString=14 inputLineNum=14 numChildren=0 startMainStr=1 stopMainStr=44 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ └─ Line #16 Code L15 "## and therefore unaffected by metadata." │ Int64 idComponent=16 idParent=4 idxString=15 inputLineNum=15 numChildren=0 startMainStr=1 stopMainStr=40 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode ├─ Block #5 Meta L16–L19 │ │ Int64 idComponent=5 idParent=1 idxString=0 inputLineNum=16 numChildren=4 startMainStr=16 stopMainStr=19 idExtension=0 idExtended=0 │ │ Bool depth2 attachedToMeta containsMeta isMeta │ ├─ Line #17 Meta L16 "" │ │ Int64 idComponent=17 idParent=5 idxString=0 inputLineNum=16 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ ├─ Line #18 Meta L17 │ │ │ Int64 idComponent=18 idParent=5 idxString=0 inputLineNum=17 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool depth2 containsMeta isMeta │ │ ├─ Segment #10 Meta L17 "#~2 " │ │ │ Int64 idComponent=10 idParent=18 idxString=17 inputLineNum=17 numChildren=0 startMainStr=1 stopMainStr=4 idExtension=0 idExtended=0 │ │ │ Bool depth2 includeInOutFile containsMeta isMeta hasMetaStr │ │ └─ Segment #11 Meta L17 "## This second 'metaLine' is kind of a sub-…" │ │ Int64 idComponent=11 idParent=18 idxString=17 inputLineNum=17 numChildren=0 startMainStr=5 stopMainStr=54 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ ├─ Line #19 Meta L18 "## of the first 'metaLine' above and theref…" │ │ Int64 idComponent=19 idParent=5 idxString=18 inputLineNum=18 numChildren=0 startMainStr=1 stopMainStr=49 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ └─ Line #20 Meta L19 "## inherits its 'metaStatement's. More late…" │ Int64 idComponent=20 idParent=5 idxString=19 inputLineNum=19 numChildren=0 startMainStr=1 stopMainStr=45 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #6 Code L20–L22 │ │ Int64 idComponent=6 idParent=1 idxString=0 inputLineNum=20 numChildren=3 startMainStr=20 stopMainStr=22 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ ├─ Line #21 Code L20 │ │ │ Int64 idComponent=21 idParent=6 idxString=0 inputLineNum=20 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool attachedToMeta containsCode isCode │ │ ├─ Segment #12 Code L20 "c = 3 " │ │ │ Int64 idComponent=12 idParent=21 idxString=20 inputLineNum=20 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ │ Bool attachedToMeta includeInOutFile containsCode isCode │ │ └─ Segment #13 Code L20 "## This 'Line' of 'Code' IS attached" │ │ Int64 idComponent=13 idParent=21 idxString=20 inputLineNum=20 numChildren=0 startMainStr=7 stopMainStr=42 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #22 Code L21 "## to the 'metaBlock' of "#~2" (no empty li…" │ │ Int64 idComponent=22 idParent=6 idxString=21 inputLineNum=21 numChildren=0 startMainStr=1 stopMainStr=55 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ └─ Line #23 Code L22 "## which in turn inherits from the first 'm…" │ Int64 idComponent=23 idParent=6 idxString=22 inputLineNum=22 numChildren=0 startMainStr=1 stopMainStr=53 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode └─ Block #7 Text L23–L27 │ Int64 idComponent=7 idParent=1 idxString=0 inputLineNum=23 numChildren=5 startMainStr=23 stopMainStr=27 idExtension=0 idExtended=0 │ Bool containsText isText ├─ Line #24 Text L23 "" │ Int64 idComponent=24 idParent=7 idxString=0 inputLineNum=23 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ Bool includeInOutFile isEmpty containsText isText ├─ Line #25 Text L24 "md"""" │ Int64 idComponent=25 idParent=7 idxString=24 inputLineNum=24 numChildren=0 startMainStr=1 stopMainStr=5 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText ├─ Line #26 Text L25 "This is a 'Block' of markdown text - 'Text'…" │ Int64 idComponent=26 idParent=7 idxString=25 inputLineNum=25 numChildren=0 startMainStr=1 stopMainStr=63 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText ├─ Line #27 Text L26 "The empty line above starts it, so it is NO…" │ Int64 idComponent=27 idParent=7 idxString=26 inputLineNum=26 numChildren=0 startMainStr=1 stopMainStr=66 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText └─ Line #28 Text L27 """"" Int64 idComponent=28 idParent=7 idxString=27 inputLineNum=27 numChildren=0 startMainStr=1 stopMainStr=3 idExtension=0 idExtended=0 Bool includeInOutFile containsText isText
In the full delivery view, visib => :hide stands on three Blocks — the first metaBlock, the #~2 metaBlock and the c = 3 Block — and on nothing else: the a = 1/b = 2 Block and the markdown Block read "(no evals — defaults apply)". A metaBlock carries the value it states. The Block a = 1/b = 2 spans the lines 10 to 15: in the printouts an empty line counts as the first Line of the Block it starts. In the Component-tree view, line 1 is two Segments (the second a comment of flavor Text), the metaLine two Segments, and every Code or Text Block written directly below a metaBlock carries attachedToMeta; the metaBlocks of depth 1 and deeper carry the flag too.
Rung 1 in C and in LaTeX
The file of rung 1 in C and in LaTeX — committed with the package as ladder_01_what_bls_sees.c and ladder_01_what_bls_sees.tex — transposed line for line, the host's forms in place of Julia's (the table: Embedding in all kinds of formats) and the content lines in the host's own syntax, int a = 1; and \alpha = 1. The markdown Block that ends the Julia file — Text by Julia's md""" string — has no counterpart in C or in LaTeX and gives way to a second Text Block, three lines behind the host's comment marker, so each twin has 26 lines to the Julia file's 27. The printouts read as the Julia file's: visib => :hide on the first metaBlock, on the //~2 or %~2 metaBlock and on the Block opening with int c = 3; or \gamma = 3, and on nothing else; in the Component-tree view 6 Blocks, 26 Lines and 12 Segments, line 1 two Segments as before.
The full delivery view of rung 1 in C — every Block and Line with its evaluated values, as the development tools print it
File rung-01_what-bls-sees.c — 3 evals rows on 3 cells (of 6 Blocks · 26 Lines) ├─ Block #2 Text L1–L6 "// This first line is 'Text'. //# Thi…" (no evals — defaults apply) │ ├─ Line #2 Text L1 "// This first line is 'Text'. //# Thi…" (no evals — defaults apply) │ ├─ Line #3 Text L2 "// Line 1 above consists of two BLS '…" (no evals — defaults apply) │ ├─ Line #4 Text L3 "// Both of flavor: 'Text'. The '//#' …" (no evals — defaults apply) │ ├─ Line #5 Text L4 "// BLS [Block, Line, Segment] Compone…" (no evals — defaults apply) │ ├─ Line #6 Text L5 "// 3 different flavors: 'Code', 'Meta…" (no evals — defaults apply) │ └─ Line #7 Text L6 "// Each of which can be turned into a…" (no evals — defaults apply) ├─ Block #3 Meta L7–L9 "//~ hide //# This is a first 'metaLin…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,3)] │ ├─ Line #8 Meta L7 "" (no evals — defaults apply) │ ├─ Line #9 Meta L8 "//~ hide //# This is a first 'metaLin…" (no evals — defaults apply) │ └─ Line #10 Meta L9 "//# The 'Line' above consists of two …" (no evals — defaults apply) ├─ Block #4 Code L10–L15 "int a = 1; //# This is a first 'Line'…" (no evals — defaults apply) │ ├─ Line #11 Code L10 "" (no evals — defaults apply) │ ├─ Line #12 Code L11 "int a = 1; //# This is a first 'Line'…" (no evals — defaults apply) │ ├─ Line #13 Code L12 "int b = 2; //# These two lines of 'Co…" (no evals — defaults apply) │ ├─ Line #14 Code L13 "//# Empty line 10 starts this 'Block'…" (no evals — defaults apply) │ ├─ Line #15 Code L14 "//# it is NOT attached to any 'metaCo…" (no evals — defaults apply) │ └─ Line #16 Code L15 "//# and therefore unaffected by metad…" (no evals — defaults apply) ├─ Block #5 Meta L16–L19 "//~2 //# This second 'metaLine' is ki…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,5)] │ ├─ Line #17 Meta L16 "" (no evals — defaults apply) │ ├─ Line #18 Meta L17 "//~2 //# This second 'metaLine' is ki…" (no evals — defaults apply) │ ├─ Line #19 Meta L18 "//# of the first 'metaLine' above and…" (no evals — defaults apply) │ └─ Line #20 Meta L19 "//# inherits its 'metaStatement's. Mo…" (no evals — defaults apply) ├─ Block #6 Code L20–L22 "int c = 3; //# This 'Line' of 'Code' …" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,6)] │ ├─ Line #21 Code L20 "int c = 3; //# This 'Line' of 'Code' …" (no evals — defaults apply) │ ├─ Line #22 Code L21 "//# to the 'metaBlock' of "//~2" (no …" (no evals — defaults apply) │ └─ Line #23 Code L22 "//# which in turn inherits from the f…" (no evals — defaults apply) └─ Block #7 Text L23–L26 "// This is a second 'Block' of 'Text'…" (no evals — defaults apply) ├─ Line #24 Text L23 "" (no evals — defaults apply) ├─ Line #25 Text L24 "// This is a second 'Block' of 'Text'…" (no evals — defaults apply) ├─ Line #26 Text L25 "// The empty line above starts it, so…" (no evals — defaults apply) └─ Line #27 Text L26 "// A line of code with no '//' in fro…" (no evals — defaults apply) ── the run: status PROCESS_OK · no diagnostics
The Component-tree view of rung 1 in C — every Block, Line and Segment with the facts BLS recorded about it (the Bool row) and its numbers (the Int64 row)
File rung-01_what-bls-sees.c — 6 Blocks · 26 Lines · 12 Segments ├─ Block #2 Text L1–L6 │ │ Int64 idComponent=2 idParent=1 idxString=0 inputLineNum=1 numChildren=6 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ Bool containsText isText │ ├─ Line #2 Text L1 │ │ │ Int64 idComponent=2 idParent=2 idxString=0 inputLineNum=1 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool containsText isText │ │ ├─ Segment #2 Text L1 "// This first line is 'Text'. " │ │ │ Int64 idComponent=2 idParent=2 idxString=1 inputLineNum=1 numChildren=0 startMainStr=1 stopMainStr=30 idExtension=0 idExtended=0 │ │ │ Bool includeInOutFile containsText isText │ │ └─ Segment #3 Text L1 "//# This is a 'comment' of 'Text'." │ │ Int64 idComponent=3 idParent=2 idxString=1 inputLineNum=1 numChildren=0 startMainStr=31 stopMainStr=64 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsText isText │ ├─ Line #3 Text L2 "// Line 1 above consists of two BLS 'Segmen…" │ │ Int64 idComponent=3 idParent=2 idxString=2 inputLineNum=2 numChildren=0 startMainStr=1 stopMainStr=57 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ ├─ Line #4 Text L3 "// Both of flavor: 'Text'. The '//#' starts…" │ │ Int64 idComponent=4 idParent=2 idxString=3 inputLineNum=3 numChildren=0 startMainStr=1 stopMainStr=56 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ ├─ Line #5 Text L4 "// BLS [Block, Line, Segment] Components ca…" │ │ Int64 idComponent=5 idParent=2 idxString=4 inputLineNum=4 numChildren=0 startMainStr=1 stopMainStr=60 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ ├─ Line #6 Text L5 "// 3 different flavors: 'Code', 'Meta' and …" │ │ Int64 idComponent=6 idParent=2 idxString=5 inputLineNum=5 numChildren=0 startMainStr=1 stopMainStr=50 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ └─ Line #7 Text L6 "// Each of which can be turned into a flavo…" │ Int64 idComponent=7 idParent=2 idxString=6 inputLineNum=6 numChildren=0 startMainStr=1 stopMainStr=64 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText ├─ Block #3 Meta L7–L9 │ │ Int64 idComponent=3 idParent=1 idxString=0 inputLineNum=7 numChildren=3 startMainStr=7 stopMainStr=9 idExtension=0 idExtended=0 │ │ Bool depth1 attachedToMeta containsMeta isMeta │ ├─ Line #8 Meta L7 "" │ │ Int64 idComponent=8 idParent=3 idxString=0 inputLineNum=7 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ ├─ Line #9 Meta L8 │ │ │ Int64 idComponent=9 idParent=3 idxString=0 inputLineNum=8 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool depth1 containsMeta isMeta │ │ ├─ Segment #4 Meta L8 "//~ hide " │ │ │ Int64 idComponent=4 idParent=9 idxString=8 inputLineNum=8 numChildren=0 startMainStr=1 stopMainStr=9 idExtension=0 idExtended=0 │ │ │ Bool depth1 includeInOutFile containsMeta isMeta hasMetaStr │ │ └─ Segment #5 Meta L8 "//# This is a first 'metaLine' (incl. this …" │ │ Int64 idComponent=5 idParent=9 idxString=8 inputLineNum=8 numChildren=0 startMainStr=10 stopMainStr=61 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ └─ Line #10 Meta L9 "//# The 'Line' above consists of two BLS 'S…" │ Int64 idComponent=10 idParent=3 idxString=9 inputLineNum=9 numChildren=0 startMainStr=1 stopMainStr=52 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #4 Code L10–L15 │ │ Int64 idComponent=4 idParent=1 idxString=0 inputLineNum=10 numChildren=6 startMainStr=10 stopMainStr=15 idExtension=0 idExtended=0 │ │ Bool containsCode isCode │ ├─ Line #11 Code L10 "" │ │ Int64 idComponent=11 idParent=4 idxString=0 inputLineNum=10 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsCode isCode │ ├─ Line #12 Code L11 │ │ │ Int64 idComponent=12 idParent=4 idxString=0 inputLineNum=11 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool containsCode isCode │ │ ├─ Segment #6 Code L11 "int a = 1; " │ │ │ Int64 idComponent=6 idParent=12 idxString=11 inputLineNum=11 numChildren=0 startMainStr=1 stopMainStr=11 idExtension=0 idExtended=0 │ │ │ Bool includeInOutFile containsCode isCode │ │ └─ Segment #7 Code L11 "//# This is a first 'Line' of 'Code'." │ │ Int64 idComponent=7 idParent=12 idxString=11 inputLineNum=11 numChildren=0 startMainStr=12 stopMainStr=48 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #13 Code L12 │ │ │ Int64 idComponent=13 idParent=4 idxString=0 inputLineNum=12 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool containsCode isCode │ │ ├─ Segment #8 Code L12 "int b = 2; " │ │ │ Int64 idComponent=8 idParent=13 idxString=12 inputLineNum=12 numChildren=0 startMainStr=1 stopMainStr=11 idExtension=0 idExtended=0 │ │ │ Bool includeInOutFile containsCode isCode │ │ └─ Segment #9 Code L12 "//# These two lines of 'Code' form a 'Block…" │ │ Int64 idComponent=9 idParent=13 idxString=12 inputLineNum=12 numChildren=0 startMainStr=12 stopMainStr=66 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #14 Code L13 "//# Empty line 10 starts this 'Block' and D…" │ │ Int64 idComponent=14 idParent=4 idxString=13 inputLineNum=13 numChildren=0 startMainStr=1 stopMainStr=72 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #15 Code L14 "//# it is NOT attached to any 'metaComponen…" │ │ Int64 idComponent=15 idParent=4 idxString=14 inputLineNum=14 numChildren=0 startMainStr=1 stopMainStr=45 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ └─ Line #16 Code L15 "//# and therefore unaffected by metadata." │ Int64 idComponent=16 idParent=4 idxString=15 inputLineNum=15 numChildren=0 startMainStr=1 stopMainStr=41 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode ├─ Block #5 Meta L16–L19 │ │ Int64 idComponent=5 idParent=1 idxString=0 inputLineNum=16 numChildren=4 startMainStr=16 stopMainStr=19 idExtension=0 idExtended=0 │ │ Bool depth2 attachedToMeta containsMeta isMeta │ ├─ Line #17 Meta L16 "" │ │ Int64 idComponent=17 idParent=5 idxString=0 inputLineNum=16 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ ├─ Line #18 Meta L17 │ │ │ Int64 idComponent=18 idParent=5 idxString=0 inputLineNum=17 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool depth2 containsMeta isMeta │ │ ├─ Segment #10 Meta L17 "//~2 " │ │ │ Int64 idComponent=10 idParent=18 idxString=17 inputLineNum=17 numChildren=0 startMainStr=1 stopMainStr=5 idExtension=0 idExtended=0 │ │ │ Bool depth2 includeInOutFile containsMeta isMeta hasMetaStr │ │ └─ Segment #11 Meta L17 "//# This second 'metaLine' is kind of a sub…" │ │ Int64 idComponent=11 idParent=18 idxString=17 inputLineNum=17 numChildren=0 startMainStr=6 stopMainStr=56 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ ├─ Line #19 Meta L18 "//# of the first 'metaLine' above and there…" │ │ Int64 idComponent=19 idParent=5 idxString=18 inputLineNum=18 numChildren=0 startMainStr=1 stopMainStr=50 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ └─ Line #20 Meta L19 "//# inherits its 'metaStatement's. More lat…" │ Int64 idComponent=20 idParent=5 idxString=19 inputLineNum=19 numChildren=0 startMainStr=1 stopMainStr=46 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #6 Code L20–L22 │ │ Int64 idComponent=6 idParent=1 idxString=0 inputLineNum=20 numChildren=3 startMainStr=20 stopMainStr=22 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ ├─ Line #21 Code L20 │ │ │ Int64 idComponent=21 idParent=6 idxString=0 inputLineNum=20 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool attachedToMeta containsCode isCode │ │ ├─ Segment #12 Code L20 "int c = 3; " │ │ │ Int64 idComponent=12 idParent=21 idxString=20 inputLineNum=20 numChildren=0 startMainStr=1 stopMainStr=11 idExtension=0 idExtended=0 │ │ │ Bool attachedToMeta includeInOutFile containsCode isCode │ │ └─ Segment #13 Code L20 "//# This 'Line' of 'Code' IS attached" │ │ Int64 idComponent=13 idParent=21 idxString=20 inputLineNum=20 numChildren=0 startMainStr=12 stopMainStr=48 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #22 Code L21 "//# to the 'metaBlock' of "//~2" (no empty …" │ │ Int64 idComponent=22 idParent=6 idxString=21 inputLineNum=21 numChildren=0 startMainStr=1 stopMainStr=57 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ └─ Line #23 Code L22 "//# which in turn inherits from the first '…" │ Int64 idComponent=23 idParent=6 idxString=22 inputLineNum=22 numChildren=0 startMainStr=1 stopMainStr=54 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode └─ Block #7 Text L23–L26 │ Int64 idComponent=7 idParent=1 idxString=0 inputLineNum=23 numChildren=4 startMainStr=23 stopMainStr=26 idExtension=0 idExtended=0 │ Bool containsText isText ├─ Line #24 Text L23 "" │ Int64 idComponent=24 idParent=7 idxString=0 inputLineNum=23 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ Bool includeInOutFile isEmpty containsText isText ├─ Line #25 Text L24 "// This is a second 'Block' of 'Text': in C…" │ Int64 idComponent=25 idParent=7 idxString=24 inputLineNum=24 numChildren=0 startMainStr=1 stopMainStr=67 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText ├─ Line #26 Text L25 "// The empty line above starts it, so it is…" │ Int64 idComponent=26 idParent=7 idxString=25 inputLineNum=25 numChildren=0 startMainStr=1 stopMainStr=69 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText └─ Line #27 Text L26 "// A line of code with no '//' in front is …" Int64 idComponent=27 idParent=7 idxString=26 inputLineNum=26 numChildren=0 startMainStr=1 stopMainStr=72 idExtension=0 idExtended=0 Bool includeInOutFile containsText isText
The full delivery view of rung 1 in LaTeX — every Block and Line with its evaluated values, as the development tools print it
File rung-01_what-bls-sees.tex — 3 evals rows on 3 cells (of 6 Blocks · 26 Lines) ├─ Block #2 Text L1–L6 "% This first line is 'Text'. %% This …" (no evals — defaults apply) │ ├─ Line #2 Text L1 "% This first line is 'Text'. %% This …" (no evals — defaults apply) │ ├─ Line #3 Text L2 "% Line 1 above consists of two BLS 'S…" (no evals — defaults apply) │ ├─ Line #4 Text L3 "% Both of flavor: 'Text'. The '%%' st…" (no evals — defaults apply) │ ├─ Line #5 Text L4 "% BLS [Block, Line, Segment] Componen…" (no evals — defaults apply) │ ├─ Line #6 Text L5 "% 3 different flavors: 'Code', 'Meta'…" (no evals — defaults apply) │ └─ Line #7 Text L6 "% Each of which can be turned into a …" (no evals — defaults apply) ├─ Block #3 Meta L7–L9 "%~ hide %% This is a first 'metaLine'…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,3)] │ ├─ Line #8 Meta L7 "" (no evals — defaults apply) │ ├─ Line #9 Meta L8 "%~ hide %% This is a first 'metaLine'…" (no evals — defaults apply) │ └─ Line #10 Meta L9 "%% The 'Line' above consists of two B…" (no evals — defaults apply) ├─ Block #4 Code L10–L15 "\alpha = 1 %% This is a first 'Line' …" (no evals — defaults apply) │ ├─ Line #11 Code L10 "" (no evals — defaults apply) │ ├─ Line #12 Code L11 "\alpha = 1 %% This is a first 'Line' …" (no evals — defaults apply) │ ├─ Line #13 Code L12 "\beta = 2 %% These two lines of 'Code…" (no evals — defaults apply) │ ├─ Line #14 Code L13 "%% Empty line 10 starts this 'Block' …" (no evals — defaults apply) │ ├─ Line #15 Code L14 "%% it is NOT attached to any 'metaCom…" (no evals — defaults apply) │ └─ Line #16 Code L15 "%% and therefore unaffected by metada…" (no evals — defaults apply) ├─ Block #5 Meta L16–L19 "%~2 %% This second 'metaLine' is kind…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,5)] │ ├─ Line #17 Meta L16 "" (no evals — defaults apply) │ ├─ Line #18 Meta L17 "%~2 %% This second 'metaLine' is kind…" (no evals — defaults apply) │ ├─ Line #19 Meta L18 "%% of the first 'metaLine' above and …" (no evals — defaults apply) │ └─ Line #20 Meta L19 "%% inherits its 'metaStatement's. Mor…" (no evals — defaults apply) ├─ Block #6 Code L20–L22 "\gamma = 3 %% This 'Line' of 'Code' I…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,6)] │ ├─ Line #21 Code L20 "\gamma = 3 %% This 'Line' of 'Code' I…" (no evals — defaults apply) │ ├─ Line #22 Code L21 "%% to the 'metaBlock' of "%~2" (no em…" (no evals — defaults apply) │ └─ Line #23 Code L22 "%% which in turn inherits from the fi…" (no evals — defaults apply) └─ Block #7 Text L23–L26 "% This is a second 'Block' of 'Text':…" (no evals — defaults apply) ├─ Line #24 Text L23 "" (no evals — defaults apply) ├─ Line #25 Text L24 "% This is a second 'Block' of 'Text':…" (no evals — defaults apply) ├─ Line #26 Text L25 "% The empty line above starts it, so …" (no evals — defaults apply) └─ Line #27 Text L26 "% A line of body with no '%' in front…" (no evals — defaults apply) ── the run: status PROCESS_OK · no diagnostics
The Component-tree view of rung 1 in LaTeX — every Block, Line and Segment with the facts BLS recorded about it (the Bool row) and its numbers (the Int64 row)
File rung-01_what-bls-sees.tex — 6 Blocks · 26 Lines · 12 Segments ├─ Block #2 Text L1–L6 │ │ Int64 idComponent=2 idParent=1 idxString=0 inputLineNum=1 numChildren=6 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ Bool containsText isText │ ├─ Line #2 Text L1 │ │ │ Int64 idComponent=2 idParent=2 idxString=0 inputLineNum=1 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool containsText isText │ │ ├─ Segment #2 Text L1 "% This first line is 'Text'. " │ │ │ Int64 idComponent=2 idParent=2 idxString=1 inputLineNum=1 numChildren=0 startMainStr=1 stopMainStr=29 idExtension=0 idExtended=0 │ │ │ Bool includeInOutFile containsText isText │ │ └─ Segment #3 Text L1 "%% This is a 'comment' of 'Text'." │ │ Int64 idComponent=3 idParent=2 idxString=1 inputLineNum=1 numChildren=0 startMainStr=30 stopMainStr=62 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsText isText │ ├─ Line #3 Text L2 "% Line 1 above consists of two BLS 'Segment…" │ │ Int64 idComponent=3 idParent=2 idxString=2 inputLineNum=2 numChildren=0 startMainStr=1 stopMainStr=56 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ ├─ Line #4 Text L3 "% Both of flavor: 'Text'. The '%%' starts a…" │ │ Int64 idComponent=4 idParent=2 idxString=3 inputLineNum=3 numChildren=0 startMainStr=1 stopMainStr=54 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ ├─ Line #5 Text L4 "% BLS [Block, Line, Segment] Components can…" │ │ Int64 idComponent=5 idParent=2 idxString=4 inputLineNum=4 numChildren=0 startMainStr=1 stopMainStr=59 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ ├─ Line #6 Text L5 "% 3 different flavors: 'Code', 'Meta' and '…" │ │ Int64 idComponent=6 idParent=2 idxString=5 inputLineNum=5 numChildren=0 startMainStr=1 stopMainStr=49 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ └─ Line #7 Text L6 "% Each of which can be turned into a flavor…" │ Int64 idComponent=7 idParent=2 idxString=6 inputLineNum=6 numChildren=0 startMainStr=1 stopMainStr=62 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText ├─ Block #3 Meta L7–L9 │ │ Int64 idComponent=3 idParent=1 idxString=0 inputLineNum=7 numChildren=3 startMainStr=7 stopMainStr=9 idExtension=0 idExtended=0 │ │ Bool depth1 attachedToMeta containsMeta isMeta │ ├─ Line #8 Meta L7 "" │ │ Int64 idComponent=8 idParent=3 idxString=0 inputLineNum=7 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ ├─ Line #9 Meta L8 │ │ │ Int64 idComponent=9 idParent=3 idxString=0 inputLineNum=8 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool depth1 containsMeta isMeta │ │ ├─ Segment #4 Meta L8 "%~ hide " │ │ │ Int64 idComponent=4 idParent=9 idxString=8 inputLineNum=8 numChildren=0 startMainStr=1 stopMainStr=8 idExtension=0 idExtended=0 │ │ │ Bool depth1 includeInOutFile containsMeta isMeta hasMetaStr │ │ └─ Segment #5 Meta L8 "%% This is a first 'metaLine' (incl. this c…" │ │ Int64 idComponent=5 idParent=9 idxString=8 inputLineNum=8 numChildren=0 startMainStr=9 stopMainStr=59 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ └─ Line #10 Meta L9 "%% The 'Line' above consists of two BLS 'Se…" │ Int64 idComponent=10 idParent=3 idxString=9 inputLineNum=9 numChildren=0 startMainStr=1 stopMainStr=51 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #4 Code L10–L15 │ │ Int64 idComponent=4 idParent=1 idxString=0 inputLineNum=10 numChildren=6 startMainStr=10 stopMainStr=15 idExtension=0 idExtended=0 │ │ Bool containsCode isCode │ ├─ Line #11 Code L10 "" │ │ Int64 idComponent=11 idParent=4 idxString=0 inputLineNum=10 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsCode isCode │ ├─ Line #12 Code L11 │ │ │ Int64 idComponent=12 idParent=4 idxString=0 inputLineNum=11 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool containsCode isCode │ │ ├─ Segment #6 Code L11 "\alpha = 1 " │ │ │ Int64 idComponent=6 idParent=12 idxString=11 inputLineNum=11 numChildren=0 startMainStr=1 stopMainStr=11 idExtension=0 idExtended=0 │ │ │ Bool includeInOutFile containsCode isCode │ │ └─ Segment #7 Code L11 "%% This is a first 'Line' of 'Code'." │ │ Int64 idComponent=7 idParent=12 idxString=11 inputLineNum=11 numChildren=0 startMainStr=12 stopMainStr=47 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #13 Code L12 │ │ │ Int64 idComponent=13 idParent=4 idxString=0 inputLineNum=12 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool containsCode isCode │ │ ├─ Segment #8 Code L12 "\beta = 2 " │ │ │ Int64 idComponent=8 idParent=13 idxString=12 inputLineNum=12 numChildren=0 startMainStr=1 stopMainStr=10 idExtension=0 idExtended=0 │ │ │ Bool includeInOutFile containsCode isCode │ │ └─ Segment #9 Code L12 "%% These two lines of 'Code' form a 'Block'…" │ │ Int64 idComponent=9 idParent=13 idxString=12 inputLineNum=12 numChildren=0 startMainStr=11 stopMainStr=64 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #14 Code L13 "%% Empty line 10 starts this 'Block' and DE…" │ │ Int64 idComponent=14 idParent=4 idxString=13 inputLineNum=13 numChildren=0 startMainStr=1 stopMainStr=71 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #15 Code L14 "%% it is NOT attached to any 'metaComponent…" │ │ Int64 idComponent=15 idParent=4 idxString=14 inputLineNum=14 numChildren=0 startMainStr=1 stopMainStr=44 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ └─ Line #16 Code L15 "%% and therefore unaffected by metadata." │ Int64 idComponent=16 idParent=4 idxString=15 inputLineNum=15 numChildren=0 startMainStr=1 stopMainStr=40 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode ├─ Block #5 Meta L16–L19 │ │ Int64 idComponent=5 idParent=1 idxString=0 inputLineNum=16 numChildren=4 startMainStr=16 stopMainStr=19 idExtension=0 idExtended=0 │ │ Bool depth2 attachedToMeta containsMeta isMeta │ ├─ Line #17 Meta L16 "" │ │ Int64 idComponent=17 idParent=5 idxString=0 inputLineNum=16 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ ├─ Line #18 Meta L17 │ │ │ Int64 idComponent=18 idParent=5 idxString=0 inputLineNum=17 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool depth2 containsMeta isMeta │ │ ├─ Segment #10 Meta L17 "%~2 " │ │ │ Int64 idComponent=10 idParent=18 idxString=17 inputLineNum=17 numChildren=0 startMainStr=1 stopMainStr=4 idExtension=0 idExtended=0 │ │ │ Bool depth2 includeInOutFile containsMeta isMeta hasMetaStr │ │ └─ Segment #11 Meta L17 "%% This second 'metaLine' is kind of a sub-…" │ │ Int64 idComponent=11 idParent=18 idxString=17 inputLineNum=17 numChildren=0 startMainStr=5 stopMainStr=54 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ ├─ Line #19 Meta L18 "%% of the first 'metaLine' above and theref…" │ │ Int64 idComponent=19 idParent=5 idxString=18 inputLineNum=18 numChildren=0 startMainStr=1 stopMainStr=49 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ └─ Line #20 Meta L19 "%% inherits its 'metaStatement's. More late…" │ Int64 idComponent=20 idParent=5 idxString=19 inputLineNum=19 numChildren=0 startMainStr=1 stopMainStr=45 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #6 Code L20–L22 │ │ Int64 idComponent=6 idParent=1 idxString=0 inputLineNum=20 numChildren=3 startMainStr=20 stopMainStr=22 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ ├─ Line #21 Code L20 │ │ │ Int64 idComponent=21 idParent=6 idxString=0 inputLineNum=20 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool attachedToMeta containsCode isCode │ │ ├─ Segment #12 Code L20 "\gamma = 3 " │ │ │ Int64 idComponent=12 idParent=21 idxString=20 inputLineNum=20 numChildren=0 startMainStr=1 stopMainStr=11 idExtension=0 idExtended=0 │ │ │ Bool attachedToMeta includeInOutFile containsCode isCode │ │ └─ Segment #13 Code L20 "%% This 'Line' of 'Code' IS attached" │ │ Int64 idComponent=13 idParent=21 idxString=20 inputLineNum=20 numChildren=0 startMainStr=12 stopMainStr=47 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #22 Code L21 "%% to the 'metaBlock' of "%~2" (no empty li…" │ │ Int64 idComponent=22 idParent=6 idxString=21 inputLineNum=21 numChildren=0 startMainStr=1 stopMainStr=55 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ └─ Line #23 Code L22 "%% which in turn inherits from the first 'm…" │ Int64 idComponent=23 idParent=6 idxString=22 inputLineNum=22 numChildren=0 startMainStr=1 stopMainStr=53 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode └─ Block #7 Text L23–L26 │ Int64 idComponent=7 idParent=1 idxString=0 inputLineNum=23 numChildren=4 startMainStr=23 stopMainStr=26 idExtension=0 idExtended=0 │ Bool containsText isText ├─ Line #24 Text L23 "" │ Int64 idComponent=24 idParent=7 idxString=0 inputLineNum=23 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ Bool includeInOutFile isEmpty containsText isText ├─ Line #25 Text L24 "% This is a second 'Block' of 'Text': in La…" │ Int64 idComponent=25 idParent=7 idxString=24 inputLineNum=24 numChildren=0 startMainStr=1 stopMainStr=69 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText ├─ Line #26 Text L25 "% The empty line above starts it, so it is …" │ Int64 idComponent=26 idParent=7 idxString=25 inputLineNum=25 numChildren=0 startMainStr=1 stopMainStr=68 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText └─ Line #27 Text L26 "% A line of body with no '%' in front is 'C…" Int64 idComponent=27 idParent=7 idxString=26 inputLineNum=26 numChildren=0 startMainStr=1 stopMainStr=70 idExtension=0 idExtended=0 Bool includeInOutFile containsText isText
Rung 2 — the three values of Visib, and the first rendered copy
Rung 1 grown by ten lines. Visib's values are show, hide and discard, and for any one piece of the file only one of them applies at a time. The rendered copy below the printouts is written by the basic renderer, a development tool and a proxy to check by eye what GoMeta has evaluated — what matters is what GoMeta evaluates, not what its proxy shows. A hidden Line is written behind ##, a hidden empty line stays an empty line, a discarded Line is left out, a shown Line is written as it is. The #~ discard on line 26 and the #~ show on line 30 stand beside the first #~ on line 8, not under it as #~2 does, so they inherit nothing from it — the levels are rung 5's.
The full delivery view of rung 2 — every Block and Line with its evaluated values, as the development tools print it
File rung-02_visib-values.jl — 7 evals rows on 7 cells (of 10 Blocks · 37 Lines) ├─ Block #2 Text L1–L6 "# This first line is 'Text'. ## This …" (no evals — defaults apply) │ ├─ Line #2 Text L1 "# This first line is 'Text'. ## This …" (no evals — defaults apply) │ ├─ Line #3 Text L2 "# Line 1 above consists of two BLS 'S…" (no evals — defaults apply) │ ├─ Line #4 Text L3 "# Both of flavor: 'Text'. The '##' st…" (no evals — defaults apply) │ ├─ Line #5 Text L4 "# BLS [Block, Line, Segment] Componen…" (no evals — defaults apply) │ ├─ Line #6 Text L5 "# 3 different flavors: 'Code', 'Meta'…" (no evals — defaults apply) │ └─ Line #7 Text L6 "# Each of which can be turned into a …" (no evals — defaults apply) ├─ Block #3 Meta L7–L11 "#~ hide ## This is a first 'metaLine'…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,3)] │ ├─ Line #8 Meta L7 "" (no evals — defaults apply) │ ├─ Line #9 Meta L8 "#~ hide ## This is a first 'metaLine'…" (no evals — defaults apply) │ ├─ Line #10 Meta L9 "## The 'Line' above consists of two B…" (no evals — defaults apply) │ ├─ Line #11 Meta L10 "## 'hide' is one of Visib's three val…" (no evals — defaults apply) │ └─ Line #12 Meta L11 "## in the rendered copy, commented ou…" (no evals — defaults apply) ├─ Block #4 Code L12–L17 "a = 1 ## This is a first 'Line' of 'C…" (no evals — defaults apply) │ ├─ Line #13 Code L12 "" (no evals — defaults apply) │ ├─ Line #14 Code L13 "a = 1 ## This is a first 'Line' of 'C…" (no evals — defaults apply) │ ├─ Line #15 Code L14 "b = 2 ## These two lines of 'Code' fo…" (no evals — defaults apply) │ ├─ Line #16 Code L15 "## The empty line 12 starts this 'Blo…" (no evals — defaults apply) │ ├─ Line #17 Code L16 "## it is NOT attached to any 'metaCom…" (no evals — defaults apply) │ └─ Line #18 Code L17 "## and therefore unaffected by metada…" (no evals — defaults apply) ├─ Block #5 Meta L18–L21 "#~2 ## This second 'metaLine' is kind…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,5)] │ ├─ Line #19 Meta L18 "" (no evals — defaults apply) │ ├─ Line #20 Meta L19 "#~2 ## This second 'metaLine' is kind…" (no evals — defaults apply) │ ├─ Line #21 Meta L20 "## of the first 'metaLine' above and …" (no evals — defaults apply) │ └─ Line #22 Meta L21 "## inherits its 'metaStatement's. Mor…" (no evals — defaults apply) ├─ Block #6 Code L22–L24 "c = 3 ## This 'Line' of 'Code' IS att…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,6)] │ ├─ Line #23 Code L22 "c = 3 ## This 'Line' of 'Code' IS att…" (no evals — defaults apply) │ ├─ Line #24 Code L23 "## to the 'metaBlock' of "#~2" (no em…" (no evals — defaults apply) │ └─ Line #25 Code L24 "## which in turn inherits from the fi…" (no evals — defaults apply) ├─ Block #7 Meta L25–L27 "#~ discard ## 'discard', Visib's seco…" │ ● visib => :discard (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,7)] │ ├─ Line #26 Meta L25 "" (no evals — defaults apply) │ ├─ Line #27 Meta L26 "#~ discard ## 'discard', Visib's seco…" (no evals — defaults apply) │ └─ Line #28 Meta L27 "## LEAVES the rendered copy - not eve…" (no evals — defaults apply) ├─ Block #8 Code L28 "d = 4 ## This 'Line' of 'Code' gets D…" │ ● visib => :discard (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,8)] │ └─ Line #29 Code L28 "d = 4 ## This 'Line' of 'Code' gets D…" (no evals — defaults apply) ├─ Block #9 Meta L29–L30 "#~ show ## 'show', Visib's third valu…" │ ● visib => :show (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,9)] │ ├─ Line #30 Meta L29 "" (no evals — defaults apply) │ └─ Line #31 Meta L30 "#~ show ## 'show', Visib's third valu…" (no evals — defaults apply) ├─ Block #10 Text L31 "# This 'Line' of 'Text' is attached a…" │ ● visib => :show (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,10)] │ └─ Line #32 Text L31 "# This 'Line' of 'Text' is attached a…" (no evals — defaults apply) └─ Block #11 Text L32–L37 "md"""⏎This is a 'Block' of markdown t…" (no evals — defaults apply) ├─ Line #33 Text L32 "" (no evals — defaults apply) ├─ Line #34 Text L33 "md"""" (no evals — defaults apply) ├─ Line #35 Text L34 "This is a 'Block' of markdown text - …" (no evals — defaults apply) ├─ Line #36 Text L35 "The empty line above starts it, so it…" (no evals — defaults apply) ├─ Line #37 Text L36 "nothing applies, and where nothing ap…" (no evals — defaults apply) └─ Line #38 Text L37 """"" (no evals — defaults apply) ── the run: status PROCESS_OK · no diagnostics
The rendered copy of rung 2 — what the basic renderer writes from the run
# This first line is 'Text'. ## This is a 'comment' of 'Text'.
# Line 1 above consists of two BLS 'Segment' Components.
# Both of flavor: 'Text'. The '##' starts a 'comment'.
# BLS [Block, Line, Segment] Components can currently be of
# 3 different flavors: 'Code', 'Meta' and 'Text'.
# Each of which can be turned into a flavored comment by '##'.
## #~ hide ## This is a first 'metaLine' (incl. this comment).
## The 'Line' above consists of two BLS 'Segment's.
## 'hide' is one of Visib's three values: hidden lines STAY
## in the rendered copy, commented out.
a = 1 ## This is a first 'Line' of 'Code'.
b = 2 ## These two lines of 'Code' form a 'Block' of 'Code'.
## The empty line 12 starts this 'Block' and DETACHES it from the metaLine:
## it is NOT attached to any 'metaComponent'
## and therefore unaffected by metadata.
## #~2 ## This second 'metaLine' is kind of a sub-section
## of the first 'metaLine' above and therefore it
## inherits its 'metaStatement's. More later.
## c = 3 ## This 'Line' of 'Code' IS attached
## to the 'metaBlock' of "#~2" (no empty line between),
## which in turn inherits from the first 'metaBlock'.
#~ show ## 'show', Visib's third value, is the DEFAULT; stated here:
# This 'Line' of 'Text' is attached and stays as it is.
md"""
This is a 'Block' of markdown text - 'Text' too, without a '#'.
The empty line above starts it, so it is NOT attached to metadata:
nothing applies, and where nothing applies the value is 'show'.
"""The view: seven rows on seven Blocks — hide on three, discard on two, show on two; the stated show on the #~ show metaBlock and its attached Text Block against "(no evals — defaults apply)" on the markdown Block, which has the same value by default. The rendered copy: three lines behind ## (the first metaLine, the #~2 metaLine, c = 3); four lines gone (the #~ discard metaBlock with its comment, and d = 4); the show lines and the markdown Block as they are. The renderer's ## is its hide marker, the input's ## comments keep theirs, and a line that already begins with ## is not marked twice: the hidden ## comment lines look untouched.
Rung 3 — the metaSegment
Rung 2 grown by five lines. Besides the metaLine on its own line, a #~ may stand after a line's content, as the Line's last Segment: that is a metaSegment, and its statement applies to that one Line only — not to the Block the Line belongs to; at this release it reaches the Line as a whole. The seven-line example on the front page already ended in one, b = 2 #~ discard{ :label1 }. The depths of the meta hierarchy, the file level #~0 among them, come with rung 5.
The full delivery view of rung 3 — every Block and Line with its evaluated values, as the development tools print it
File rung-03_metasegment.jl — 8 evals rows on 8 cells (of 11 Blocks · 42 Lines) ├─ Block #2 Text L1–L6 "# This first line is 'Text'. ## This …" (no evals — defaults apply) │ ├─ Line #2 Text L1 "# This first line is 'Text'. ## This …" (no evals — defaults apply) │ ├─ Line #3 Text L2 "# Line 1 above consists of two BLS 'S…" (no evals — defaults apply) │ ├─ Line #4 Text L3 "# Both of flavor: 'Text'. The '##' st…" (no evals — defaults apply) │ ├─ Line #5 Text L4 "# BLS [Block, Line, Segment] Componen…" (no evals — defaults apply) │ ├─ Line #6 Text L5 "# 3 different flavors: 'Code', 'Meta'…" (no evals — defaults apply) │ └─ Line #7 Text L6 "# Each of which can be turned into a …" (no evals — defaults apply) ├─ Block #3 Meta L7–L11 "#~ hide ## This is a first 'metaLine'…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,3)] │ ├─ Line #8 Meta L7 "" (no evals — defaults apply) │ ├─ Line #9 Meta L8 "#~ hide ## This is a first 'metaLine'…" (no evals — defaults apply) │ ├─ Line #10 Meta L9 "## The 'Line' above consists of two B…" (no evals — defaults apply) │ ├─ Line #11 Meta L10 "## 'hide' is one of Visib's three val…" (no evals — defaults apply) │ └─ Line #12 Meta L11 "## in the rendered copy, commented ou…" (no evals — defaults apply) ├─ Block #4 Code L12–L17 "a = 1 ## This is a first 'Line' of 'C…" (no evals — defaults apply) │ ├─ Line #13 Code L12 "" (no evals — defaults apply) │ ├─ Line #14 Code L13 "a = 1 ## This is a first 'Line' of 'C…" (no evals — defaults apply) │ ├─ Line #15 Code L14 "b = 2 ## These two lines of 'Code' fo…" (no evals — defaults apply) │ ├─ Line #16 Code L15 "## The empty line 12 starts this 'Blo…" (no evals — defaults apply) │ ├─ Line #17 Code L16 "## it is NOT attached to any 'metaCom…" (no evals — defaults apply) │ └─ Line #18 Code L17 "## and therefore unaffected by metada…" (no evals — defaults apply) ├─ Block #5 Meta L18–L21 "#~2 ## This second 'metaLine' is kind…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,5)] │ ├─ Line #19 Meta L18 "" (no evals — defaults apply) │ ├─ Line #20 Meta L19 "#~2 ## This second 'metaLine' is kind…" (no evals — defaults apply) │ ├─ Line #21 Meta L20 "## of the first 'metaLine' above and …" (no evals — defaults apply) │ └─ Line #22 Meta L21 "## inherits its 'metaStatement's. Mor…" (no evals — defaults apply) ├─ Block #6 Code L22–L24 "c = 3 ## This 'Line' of 'Code' IS att…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,6)] │ ├─ Line #23 Code L22 "c = 3 ## This 'Line' of 'Code' IS att…" (no evals — defaults apply) │ ├─ Line #24 Code L23 "## to the 'metaBlock' of "#~2" (no em…" (no evals — defaults apply) │ └─ Line #25 Code L24 "## which in turn inherits from the fi…" (no evals — defaults apply) ├─ Block #7 Meta L25–L27 "#~ discard ## 'discard', Visib's seco…" │ ● visib => :discard (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,7)] │ ├─ Line #26 Meta L25 "" (no evals — defaults apply) │ ├─ Line #27 Meta L26 "#~ discard ## 'discard', Visib's seco…" (no evals — defaults apply) │ └─ Line #28 Meta L27 "## LEAVES the rendered copy - not eve…" (no evals — defaults apply) ├─ Block #8 Code L28 "d = 4 ## This 'Line' of 'Code' gets D…" │ ● visib => :discard (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,8)] │ └─ Line #29 Code L28 "d = 4 ## This 'Line' of 'Code' gets D…" (no evals — defaults apply) ├─ Block #9 Meta L29–L30 "#~ show ## 'show', Visib's third valu…" │ ● visib => :show (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,9)] │ ├─ Line #30 Meta L29 "" (no evals — defaults apply) │ └─ Line #31 Meta L30 "#~ show ## 'show', Visib's third valu…" (no evals — defaults apply) ├─ Block #10 Text L31 "# This 'Line' of 'Text' is attached a…" │ ● visib => :show (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,10)] │ └─ Line #32 Text L31 "# This 'Line' of 'Text' is attached a…" (no evals — defaults apply) ├─ Block #11 Code L32–L36 "e = 5 #~ hide⏎## The 'Line' above END…" (no evals — defaults apply) │ ├─ Line #33 Code L32 "" (no evals — defaults apply) │ ├─ Line #34 Code L33 "e = 5 #~ hide" │ │ ● visib => :hide (+) ← Segment #21 "#~ hide" │ │ handle ns=:default grain=Line path=[(direct,1) (direct,11) (direct,34)] origin=[(direct,1) (direct,11) (direct,34) (direct,21)] │ ├─ Line #35 Code L34 "## The 'Line' above ENDS in a 'metaSe…" (no evals — defaults apply) │ ├─ Line #36 Code L35 "## It applies to that one 'Line' only…" (no evals — defaults apply) │ └─ Line #37 Code L36 "f = 6 ## This 'Line' of 'Code', in th…" (no evals — defaults apply) └─ Block #12 Text L37–L42 "md"""⏎This is a 'Block' of markdown t…" (no evals — defaults apply) ├─ Line #38 Text L37 "" (no evals — defaults apply) ├─ Line #39 Text L38 "md"""" (no evals — defaults apply) ├─ Line #40 Text L39 "This is a 'Block' of markdown text - …" (no evals — defaults apply) ├─ Line #41 Text L40 "The empty line above starts it, so it…" (no evals — defaults apply) ├─ Line #42 Text L41 "nothing applies, and where nothing ap…" (no evals — defaults apply) └─ Line #43 Text L42 """"" (no evals — defaults apply) ── the run: status PROCESS_OK · no diagnostics
The rendered copy of rung 3 — what the basic renderer writes from the run
# This first line is 'Text'. ## This is a 'comment' of 'Text'.
# Line 1 above consists of two BLS 'Segment' Components.
# Both of flavor: 'Text'. The '##' starts a 'comment'.
# BLS [Block, Line, Segment] Components can currently be of
# 3 different flavors: 'Code', 'Meta' and 'Text'.
# Each of which can be turned into a flavored comment by '##'.
## #~ hide ## This is a first 'metaLine' (incl. this comment).
## The 'Line' above consists of two BLS 'Segment's.
## 'hide' is one of Visib's three values: hidden lines STAY
## in the rendered copy, commented out.
a = 1 ## This is a first 'Line' of 'Code'.
b = 2 ## These two lines of 'Code' form a 'Block' of 'Code'.
## The empty line 12 starts this 'Block' and DETACHES it from the metaLine:
## it is NOT attached to any 'metaComponent'
## and therefore unaffected by metadata.
## #~2 ## This second 'metaLine' is kind of a sub-section
## of the first 'metaLine' above and therefore it
## inherits its 'metaStatement's. More later.
## c = 3 ## This 'Line' of 'Code' IS attached
## to the 'metaBlock' of "#~2" (no empty line between),
## which in turn inherits from the first 'metaBlock'.
#~ show ## 'show', Visib's third value, is the DEFAULT; stated here:
# This 'Line' of 'Text' is attached and stays as it is.
## e = 5 ## #~ hide
## The 'Line' above ENDS in a 'metaSegment': a '#~' after its content.
## It applies to that one 'Line' only - so 'e = 5' gets hidden.
f = 6 ## This 'Line' of 'Code', in the same 'Block', is NOT hidden.
md"""
This is a 'Block' of markdown text - 'Text' too, without a '#'.
The empty line above starts it, so it is NOT attached to metadata:
nothing applies, and where nothing applies the value is 'show'.
"""The view shows the ladder's first row on a Line rather than on a Block — grain=Line in the printout — on the Line e = 5, with its origin named: the Segment #~ hide; the Block, the two ## Lines and f = 6 read "(no evals — defaults apply)". In the rendered copy the renderer wrote ## twice on that line, before the hidden Line and before its metaSegment — not rung 2's case: here the hidden Line and the metaSegment it ends in each get a mark — and f = 6 stands as it is.
Rung 4 — a condition decides per Component
Rung 3 grown by six lines. "The optional {} following hide on line 1 allows the user to specify conditions under which hide may get applied" — the JuliaCon 2026 proposal on the first example file, whose line 1 carries the condition; here it stands on line 38. The condition is Julia, and isCode is one of the BLS key words — facts about a Component that BLS records when it reads the file and that a condition may ask. The Engine evaluates the condition for each Component the statement reaches: here the Text Line is attached but is not Code, so nothing applies to it; the Code Line is attached and is Code, so it is hidden. A Block is a run of lines of one flavor, so the Text Line 41 and the Code Line 42 are two Blocks; a Block directly below an attached Block, with no empty line between, is attached as well — the Component-tree view shows both with attachedToMeta.
The full delivery view of rung 4 — every Block and Line with its evaluated values, as the development tools print it
File rung-04_condition.jl — 9 evals rows on 9 cells (of 14 Blocks · 48 Lines) ├─ Block #2 Text L1–L6 "# This first line is 'Text'. ## This …" (no evals — defaults apply) │ ├─ Line #2 Text L1 "# This first line is 'Text'. ## This …" (no evals — defaults apply) │ ├─ Line #3 Text L2 "# Line 1 above consists of two BLS 'S…" (no evals — defaults apply) │ ├─ Line #4 Text L3 "# Both of flavor: 'Text'. The '##' st…" (no evals — defaults apply) │ ├─ Line #5 Text L4 "# BLS [Block, Line, Segment] Componen…" (no evals — defaults apply) │ ├─ Line #6 Text L5 "# 3 different flavors: 'Code', 'Meta'…" (no evals — defaults apply) │ └─ Line #7 Text L6 "# Each of which can be turned into a …" (no evals — defaults apply) ├─ Block #3 Meta L7–L11 "#~ hide ## This is a first 'metaLine'…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,3)] │ ├─ Line #8 Meta L7 "" (no evals — defaults apply) │ ├─ Line #9 Meta L8 "#~ hide ## This is a first 'metaLine'…" (no evals — defaults apply) │ ├─ Line #10 Meta L9 "## The 'Line' above consists of two B…" (no evals — defaults apply) │ ├─ Line #11 Meta L10 "## 'hide' is one of Visib's three val…" (no evals — defaults apply) │ └─ Line #12 Meta L11 "## in the rendered copy, commented ou…" (no evals — defaults apply) ├─ Block #4 Code L12–L17 "a = 1 ## This is a first 'Line' of 'C…" (no evals — defaults apply) │ ├─ Line #13 Code L12 "" (no evals — defaults apply) │ ├─ Line #14 Code L13 "a = 1 ## This is a first 'Line' of 'C…" (no evals — defaults apply) │ ├─ Line #15 Code L14 "b = 2 ## These two lines of 'Code' fo…" (no evals — defaults apply) │ ├─ Line #16 Code L15 "## The empty line 12 starts this 'Blo…" (no evals — defaults apply) │ ├─ Line #17 Code L16 "## it is NOT attached to any 'metaCom…" (no evals — defaults apply) │ └─ Line #18 Code L17 "## and therefore unaffected by metada…" (no evals — defaults apply) ├─ Block #5 Meta L18–L21 "#~2 ## This second 'metaLine' is kind…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,5)] │ ├─ Line #19 Meta L18 "" (no evals — defaults apply) │ ├─ Line #20 Meta L19 "#~2 ## This second 'metaLine' is kind…" (no evals — defaults apply) │ ├─ Line #21 Meta L20 "## of the first 'metaLine' above and …" (no evals — defaults apply) │ └─ Line #22 Meta L21 "## inherits its 'metaStatement's. Mor…" (no evals — defaults apply) ├─ Block #6 Code L22–L24 "c = 3 ## This 'Line' of 'Code' IS att…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,6)] │ ├─ Line #23 Code L22 "c = 3 ## This 'Line' of 'Code' IS att…" (no evals — defaults apply) │ ├─ Line #24 Code L23 "## to the 'metaBlock' of "#~2" (no em…" (no evals — defaults apply) │ └─ Line #25 Code L24 "## which in turn inherits from the fi…" (no evals — defaults apply) ├─ Block #7 Meta L25–L27 "#~ discard ## 'discard', Visib's seco…" │ ● visib => :discard (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,7)] │ ├─ Line #26 Meta L25 "" (no evals — defaults apply) │ ├─ Line #27 Meta L26 "#~ discard ## 'discard', Visib's seco…" (no evals — defaults apply) │ └─ Line #28 Meta L27 "## LEAVES the rendered copy - not eve…" (no evals — defaults apply) ├─ Block #8 Code L28 "d = 4 ## This 'Line' of 'Code' gets D…" │ ● visib => :discard (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,8)] │ └─ Line #29 Code L28 "d = 4 ## This 'Line' of 'Code' gets D…" (no evals — defaults apply) ├─ Block #9 Meta L29–L30 "#~ show ## 'show', Visib's third valu…" │ ● visib => :show (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,9)] │ ├─ Line #30 Meta L29 "" (no evals — defaults apply) │ └─ Line #31 Meta L30 "#~ show ## 'show', Visib's third valu…" (no evals — defaults apply) ├─ Block #10 Text L31 "# This 'Line' of 'Text' is attached a…" │ ● visib => :show (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,10)] │ └─ Line #32 Text L31 "# This 'Line' of 'Text' is attached a…" (no evals — defaults apply) ├─ Block #11 Code L32–L36 "e = 5 #~ hide⏎## The 'Line' above END…" (no evals — defaults apply) │ ├─ Line #33 Code L32 "" (no evals — defaults apply) │ ├─ Line #34 Code L33 "e = 5 #~ hide" │ │ ● visib => :hide (+) ← Segment #21 "#~ hide" │ │ handle ns=:default grain=Line path=[(direct,1) (direct,11) (direct,34)] origin=[(direct,1) (direct,11) (direct,34) (direct,21)] │ ├─ Line #35 Code L34 "## The 'Line' above ENDS in a 'metaSe…" (no evals — defaults apply) │ ├─ Line #36 Code L35 "## It applies to that one 'Line' only…" (no evals — defaults apply) │ └─ Line #37 Code L36 "f = 6 ## This 'Line' of 'Code', in th…" (no evals — defaults apply) ├─ Block #12 Meta L37–L40 "#~ hide{ isCode } ## A CONDITION: 'hi…" (no evals — defaults apply) │ ├─ Line #38 Meta L37 "" (no evals — defaults apply) │ ├─ Line #39 Meta L38 "#~ hide{ isCode } ## A CONDITION: 'hi…" (no evals — defaults apply) │ ├─ Line #40 Meta L39 "## 'isCode', a BLS key word, asks eac…" (no evals — defaults apply) │ └─ Line #41 Meta L40 "## This 'metaBlock' itself is 'Meta',…" (no evals — defaults apply) ├─ Block #13 Text L41 "# This 'Line' of 'Text' is attached, …" (no evals — defaults apply) │ └─ Line #42 Text L41 "# This 'Line' of 'Text' is attached, …" (no evals — defaults apply) ├─ Block #14 Code L42 "g = 7 ## This 'Line' of 'Code' follow…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,14)] │ └─ Line #43 Code L42 "g = 7 ## This 'Line' of 'Code' follow…" (no evals — defaults apply) └─ Block #15 Text L43–L48 "md"""⏎This is a 'Block' of markdown t…" (no evals — defaults apply) ├─ Line #44 Text L43 "" (no evals — defaults apply) ├─ Line #45 Text L44 "md"""" (no evals — defaults apply) ├─ Line #46 Text L45 "This is a 'Block' of markdown text - …" (no evals — defaults apply) ├─ Line #47 Text L46 "The empty line above starts it, so it…" (no evals — defaults apply) ├─ Line #48 Text L47 "nothing applies, and where nothing ap…" (no evals — defaults apply) └─ Line #49 Text L48 """"" (no evals — defaults apply) ── the run: status PROCESS_OK · no diagnostics
The Component-tree view of rung 4 — every Block, Line and Segment with the facts BLS recorded about it (the Bool row) and its numbers (the Int64 row)
File rung-04_condition.jl — 14 Blocks · 48 Lines · 26 Segments ├─ Block #2 Text L1–L6 │ │ Int64 idComponent=2 idParent=1 idxString=0 inputLineNum=1 numChildren=6 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ Bool containsText isText │ ├─ Line #2 Text L1 │ │ │ Int64 idComponent=2 idParent=2 idxString=0 inputLineNum=1 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool containsText isText │ │ ├─ Segment #2 Text L1 "# This first line is 'Text'. " │ │ │ Int64 idComponent=2 idParent=2 idxString=1 inputLineNum=1 numChildren=0 startMainStr=1 stopMainStr=29 idExtension=0 idExtended=0 │ │ │ Bool includeInOutFile containsText isText │ │ └─ Segment #3 Text L1 "## This is a 'comment' of 'Text'." │ │ Int64 idComponent=3 idParent=2 idxString=1 inputLineNum=1 numChildren=0 startMainStr=30 stopMainStr=62 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsText isText │ ├─ Line #3 Text L2 "# Line 1 above consists of two BLS 'Segment…" │ │ Int64 idComponent=3 idParent=2 idxString=2 inputLineNum=2 numChildren=0 startMainStr=1 stopMainStr=56 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ ├─ Line #4 Text L3 "# Both of flavor: 'Text'. The '##' starts a…" │ │ Int64 idComponent=4 idParent=2 idxString=3 inputLineNum=3 numChildren=0 startMainStr=1 stopMainStr=54 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ ├─ Line #5 Text L4 "# BLS [Block, Line, Segment] Components can…" │ │ Int64 idComponent=5 idParent=2 idxString=4 inputLineNum=4 numChildren=0 startMainStr=1 stopMainStr=59 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ ├─ Line #6 Text L5 "# 3 different flavors: 'Code', 'Meta' and '…" │ │ Int64 idComponent=6 idParent=2 idxString=5 inputLineNum=5 numChildren=0 startMainStr=1 stopMainStr=49 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsText isText │ └─ Line #7 Text L6 "# Each of which can be turned into a flavor…" │ Int64 idComponent=7 idParent=2 idxString=6 inputLineNum=6 numChildren=0 startMainStr=1 stopMainStr=62 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText ├─ Block #3 Meta L7–L11 │ │ Int64 idComponent=3 idParent=1 idxString=0 inputLineNum=7 numChildren=5 startMainStr=7 stopMainStr=11 idExtension=0 idExtended=0 │ │ Bool depth1 attachedToMeta containsMeta isMeta │ ├─ Line #8 Meta L7 "" │ │ Int64 idComponent=8 idParent=3 idxString=0 inputLineNum=7 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ ├─ Line #9 Meta L8 │ │ │ Int64 idComponent=9 idParent=3 idxString=0 inputLineNum=8 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool depth1 containsMeta isMeta │ │ ├─ Segment #4 Meta L8 "#~ hide " │ │ │ Int64 idComponent=4 idParent=9 idxString=8 inputLineNum=8 numChildren=0 startMainStr=1 stopMainStr=8 idExtension=0 idExtended=0 │ │ │ Bool depth1 includeInOutFile containsMeta isMeta hasMetaStr │ │ └─ Segment #5 Meta L8 "## This is a first 'metaLine' (incl. this c…" │ │ Int64 idComponent=5 idParent=9 idxString=8 inputLineNum=8 numChildren=0 startMainStr=9 stopMainStr=59 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ ├─ Line #10 Meta L9 "## The 'Line' above consists of two BLS 'Se…" │ │ Int64 idComponent=10 idParent=3 idxString=9 inputLineNum=9 numChildren=0 startMainStr=1 stopMainStr=51 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ ├─ Line #11 Meta L10 "## 'hide' is one of Visib's three values: h…" │ │ Int64 idComponent=11 idParent=3 idxString=10 inputLineNum=10 numChildren=0 startMainStr=1 stopMainStr=59 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ └─ Line #12 Meta L11 "## in the rendered copy, commented out." │ Int64 idComponent=12 idParent=3 idxString=11 inputLineNum=11 numChildren=0 startMainStr=1 stopMainStr=39 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #4 Code L12–L17 │ │ Int64 idComponent=4 idParent=1 idxString=0 inputLineNum=12 numChildren=6 startMainStr=12 stopMainStr=17 idExtension=0 idExtended=0 │ │ Bool containsCode isCode │ ├─ Line #13 Code L12 "" │ │ Int64 idComponent=13 idParent=4 idxString=0 inputLineNum=12 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsCode isCode │ ├─ Line #14 Code L13 │ │ │ Int64 idComponent=14 idParent=4 idxString=0 inputLineNum=13 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool containsCode isCode │ │ ├─ Segment #6 Code L13 "a = 1 " │ │ │ Int64 idComponent=6 idParent=14 idxString=13 inputLineNum=13 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ │ Bool includeInOutFile containsCode isCode │ │ └─ Segment #7 Code L13 "## This is a first 'Line' of 'Code'." │ │ Int64 idComponent=7 idParent=14 idxString=13 inputLineNum=13 numChildren=0 startMainStr=7 stopMainStr=42 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #15 Code L14 │ │ │ Int64 idComponent=15 idParent=4 idxString=0 inputLineNum=14 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool containsCode isCode │ │ ├─ Segment #8 Code L14 "b = 2 " │ │ │ Int64 idComponent=8 idParent=15 idxString=14 inputLineNum=14 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ │ Bool includeInOutFile containsCode isCode │ │ └─ Segment #9 Code L14 "## These two lines of 'Code' form a 'Block'…" │ │ Int64 idComponent=9 idParent=15 idxString=14 inputLineNum=14 numChildren=0 startMainStr=7 stopMainStr=60 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #16 Code L15 "## The empty line 12 starts this 'Block' an…" │ │ Int64 idComponent=16 idParent=4 idxString=15 inputLineNum=15 numChildren=0 startMainStr=1 stopMainStr=75 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #17 Code L16 "## it is NOT attached to any 'metaComponent…" │ │ Int64 idComponent=17 idParent=4 idxString=16 inputLineNum=16 numChildren=0 startMainStr=1 stopMainStr=44 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ └─ Line #18 Code L17 "## and therefore unaffected by metadata." │ Int64 idComponent=18 idParent=4 idxString=17 inputLineNum=17 numChildren=0 startMainStr=1 stopMainStr=40 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode ├─ Block #5 Meta L18–L21 │ │ Int64 idComponent=5 idParent=1 idxString=0 inputLineNum=18 numChildren=4 startMainStr=18 stopMainStr=21 idExtension=0 idExtended=0 │ │ Bool depth2 attachedToMeta containsMeta isMeta │ ├─ Line #19 Meta L18 "" │ │ Int64 idComponent=19 idParent=5 idxString=0 inputLineNum=18 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ ├─ Line #20 Meta L19 │ │ │ Int64 idComponent=20 idParent=5 idxString=0 inputLineNum=19 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool depth2 containsMeta isMeta │ │ ├─ Segment #10 Meta L19 "#~2 " │ │ │ Int64 idComponent=10 idParent=20 idxString=19 inputLineNum=19 numChildren=0 startMainStr=1 stopMainStr=4 idExtension=0 idExtended=0 │ │ │ Bool depth2 includeInOutFile containsMeta isMeta hasMetaStr │ │ └─ Segment #11 Meta L19 "## This second 'metaLine' is kind of a sub-…" │ │ Int64 idComponent=11 idParent=20 idxString=19 inputLineNum=19 numChildren=0 startMainStr=5 stopMainStr=54 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ ├─ Line #21 Meta L20 "## of the first 'metaLine' above and theref…" │ │ Int64 idComponent=21 idParent=5 idxString=20 inputLineNum=20 numChildren=0 startMainStr=1 stopMainStr=49 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ └─ Line #22 Meta L21 "## inherits its 'metaStatement's. More late…" │ Int64 idComponent=22 idParent=5 idxString=21 inputLineNum=21 numChildren=0 startMainStr=1 stopMainStr=45 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #6 Code L22–L24 │ │ Int64 idComponent=6 idParent=1 idxString=0 inputLineNum=22 numChildren=3 startMainStr=22 stopMainStr=24 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ ├─ Line #23 Code L22 │ │ │ Int64 idComponent=23 idParent=6 idxString=0 inputLineNum=22 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool attachedToMeta containsCode isCode │ │ ├─ Segment #12 Code L22 "c = 3 " │ │ │ Int64 idComponent=12 idParent=23 idxString=22 inputLineNum=22 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ │ Bool attachedToMeta includeInOutFile containsCode isCode │ │ └─ Segment #13 Code L22 "## This 'Line' of 'Code' IS attached" │ │ Int64 idComponent=13 idParent=23 idxString=22 inputLineNum=22 numChildren=0 startMainStr=7 stopMainStr=42 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #24 Code L23 "## to the 'metaBlock' of "#~2" (no empty li…" │ │ Int64 idComponent=24 idParent=6 idxString=23 inputLineNum=23 numChildren=0 startMainStr=1 stopMainStr=55 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ └─ Line #25 Code L24 "## which in turn inherits from the first 'm…" │ Int64 idComponent=25 idParent=6 idxString=24 inputLineNum=24 numChildren=0 startMainStr=1 stopMainStr=53 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode ├─ Block #7 Meta L25–L27 │ │ Int64 idComponent=7 idParent=1 idxString=0 inputLineNum=25 numChildren=3 startMainStr=25 stopMainStr=27 idExtension=0 idExtended=0 │ │ Bool depth1 attachedToMeta containsMeta isMeta │ ├─ Line #26 Meta L25 "" │ │ Int64 idComponent=26 idParent=7 idxString=0 inputLineNum=25 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ ├─ Line #27 Meta L26 │ │ │ Int64 idComponent=27 idParent=7 idxString=0 inputLineNum=26 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool depth1 containsMeta isMeta │ │ ├─ Segment #14 Meta L26 "#~ discard " │ │ │ Int64 idComponent=14 idParent=27 idxString=26 inputLineNum=26 numChildren=0 startMainStr=1 stopMainStr=11 idExtension=0 idExtended=0 │ │ │ Bool depth1 includeInOutFile containsMeta isMeta hasMetaStr │ │ └─ Segment #15 Meta L26 "## 'discard', Visib's second value: the att…" │ │ Int64 idComponent=15 idParent=27 idxString=26 inputLineNum=26 numChildren=0 startMainStr=12 stopMainStr=72 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ └─ Line #28 Meta L27 "## LEAVES the rendered copy - not even as a…" │ Int64 idComponent=28 idParent=7 idxString=27 inputLineNum=27 numChildren=0 startMainStr=1 stopMainStr=74 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #8 Code L28 │ │ Int64 idComponent=8 idParent=1 idxString=0 inputLineNum=28 numChildren=1 startMainStr=28 stopMainStr=28 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ └─ Line #29 Code L28 │ │ Int64 idComponent=29 idParent=8 idxString=0 inputLineNum=28 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ ├─ Segment #16 Code L28 "d = 4 " │ │ Int64 idComponent=16 idParent=29 idxString=28 inputLineNum=28 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ Bool attachedToMeta includeInOutFile containsCode isCode │ └─ Segment #17 Code L28 "## This 'Line' of 'Code' gets DISCARDED." │ Int64 idComponent=17 idParent=29 idxString=28 inputLineNum=28 numChildren=0 startMainStr=7 stopMainStr=46 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode ├─ Block #9 Meta L29–L30 │ │ Int64 idComponent=9 idParent=1 idxString=0 inputLineNum=29 numChildren=2 startMainStr=29 stopMainStr=30 idExtension=0 idExtended=0 │ │ Bool depth1 attachedToMeta containsMeta isMeta │ ├─ Line #30 Meta L29 "" │ │ Int64 idComponent=30 idParent=9 idxString=0 inputLineNum=29 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ └─ Line #31 Meta L30 │ │ Int64 idComponent=31 idParent=9 idxString=0 inputLineNum=30 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool depth1 containsMeta isMeta │ ├─ Segment #18 Meta L30 "#~ show " │ │ Int64 idComponent=18 idParent=31 idxString=30 inputLineNum=30 numChildren=0 startMainStr=1 stopMainStr=8 idExtension=0 idExtended=0 │ │ Bool depth1 includeInOutFile containsMeta isMeta hasMetaStr │ └─ Segment #19 Meta L30 "## 'show', Visib's third value, is the DEFA…" │ Int64 idComponent=19 idParent=31 idxString=30 inputLineNum=30 numChildren=0 startMainStr=9 stopMainStr=68 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #10 Text L31 │ │ Int64 idComponent=10 idParent=1 idxString=0 inputLineNum=31 numChildren=1 startMainStr=31 stopMainStr=31 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsText isText │ └─ Line #32 Text L31 "# This 'Line' of 'Text' is attached and sta…" │ Int64 idComponent=32 idParent=10 idxString=31 inputLineNum=31 numChildren=0 startMainStr=1 stopMainStr=55 idExtension=0 idExtended=0 │ Bool attachedToMeta includeInOutFile containsText isText ├─ Block #11 Code L32–L36 │ │ Int64 idComponent=11 idParent=1 idxString=0 inputLineNum=32 numChildren=5 startMainStr=32 stopMainStr=36 idExtension=0 idExtended=0 │ │ Bool containsCode containsMeta isCode │ ├─ Line #33 Code L32 "" │ │ Int64 idComponent=33 idParent=11 idxString=0 inputLineNum=32 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsCode isCode │ ├─ Line #34 Code L33 │ │ │ Int64 idComponent=34 idParent=11 idxString=0 inputLineNum=33 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool containsCode containsMeta isCode │ │ ├─ Segment #20 Code L33 "e = 5 " │ │ │ Int64 idComponent=20 idParent=34 idxString=33 inputLineNum=33 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ │ Bool includeInOutFile containsCode isCode │ │ └─ Segment #21 Meta L33 "#~ hide" │ │ Int64 idComponent=21 idParent=34 idxString=33 inputLineNum=33 numChildren=0 startMainStr=7 stopMainStr=13 idExtension=0 idExtended=0 │ │ Bool depth1 includeInOutFile containsMeta isMeta hasMetaStr │ ├─ Line #35 Code L34 "## The 'Line' above ENDS in a 'metaSegment'…" │ │ Int64 idComponent=35 idParent=11 idxString=34 inputLineNum=34 numChildren=0 startMainStr=1 stopMainStr=70 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #36 Code L35 "## It applies to that one 'Line' only - so …" │ │ Int64 idComponent=36 idParent=11 idxString=35 inputLineNum=35 numChildren=0 startMainStr=1 stopMainStr=63 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ └─ Line #37 Code L36 │ │ Int64 idComponent=37 idParent=11 idxString=0 inputLineNum=36 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool containsCode isCode │ ├─ Segment #22 Code L36 "f = 6 " │ │ Int64 idComponent=22 idParent=37 idxString=36 inputLineNum=36 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ Bool includeInOutFile containsCode isCode │ └─ Segment #23 Code L36 "## This 'Line' of 'Code', in the same 'Bloc…" │ Int64 idComponent=23 idParent=37 idxString=36 inputLineNum=36 numChildren=0 startMainStr=7 stopMainStr=67 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode ├─ Block #12 Meta L37–L40 │ │ Int64 idComponent=12 idParent=1 idxString=0 inputLineNum=37 numChildren=4 startMainStr=37 stopMainStr=40 idExtension=0 idExtended=0 │ │ Bool depth1 attachedToMeta containsMeta isMeta │ ├─ Line #38 Meta L37 "" │ │ Int64 idComponent=38 idParent=12 idxString=0 inputLineNum=37 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ ├─ Line #39 Meta L38 │ │ │ Int64 idComponent=39 idParent=12 idxString=0 inputLineNum=38 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool depth1 containsMeta isMeta │ │ ├─ Segment #24 Meta L38 "#~ hide{ isCode } " │ │ │ Int64 idComponent=24 idParent=39 idxString=38 inputLineNum=38 numChildren=0 startMainStr=1 stopMainStr=18 idExtension=0 idExtended=0 │ │ │ Bool depth1 includeInOutFile containsMeta isMeta hasMetaStr │ │ └─ Segment #25 Meta L38 "## A CONDITION: 'hide' applies only where i…" │ │ Int64 idComponent=25 idParent=39 idxString=38 inputLineNum=38 numChildren=0 startMainStr=19 stopMainStr=69 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ ├─ Line #40 Meta L39 "## 'isCode', a BLS key word, asks each atta…" │ │ Int64 idComponent=40 idParent=12 idxString=39 inputLineNum=39 numChildren=0 startMainStr=1 stopMainStr=74 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ └─ Line #41 Meta L40 "## This 'metaBlock' itself is 'Meta', not '…" │ Int64 idComponent=41 idParent=12 idxString=40 inputLineNum=40 numChildren=0 startMainStr=1 stopMainStr=68 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #13 Text L41 │ │ Int64 idComponent=13 idParent=1 idxString=0 inputLineNum=41 numChildren=1 startMainStr=41 stopMainStr=41 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsText isText │ └─ Line #42 Text L41 "# This 'Line' of 'Text' is attached, but 'i…" │ Int64 idComponent=42 idParent=13 idxString=41 inputLineNum=41 numChildren=0 startMainStr=1 stopMainStr=66 idExtension=0 idExtended=0 │ Bool attachedToMeta includeInOutFile containsText isText ├─ Block #14 Code L42 │ │ Int64 idComponent=14 idParent=1 idxString=0 inputLineNum=42 numChildren=1 startMainStr=42 stopMainStr=42 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ └─ Line #43 Code L42 │ │ Int64 idComponent=43 idParent=14 idxString=0 inputLineNum=42 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ ├─ Segment #26 Code L42 "g = 7 " │ │ Int64 idComponent=26 idParent=43 idxString=42 inputLineNum=42 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ Bool attachedToMeta includeInOutFile containsCode isCode │ └─ Segment #27 Code L42 "## This 'Line' of 'Code' follows directly: …" │ Int64 idComponent=27 idParent=43 idxString=42 inputLineNum=42 numChildren=0 startMainStr=7 stopMainStr=73 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode └─ Block #15 Text L43–L48 │ Int64 idComponent=15 idParent=1 idxString=0 inputLineNum=43 numChildren=6 startMainStr=43 stopMainStr=48 idExtension=0 idExtended=0 │ Bool containsText isText ├─ Line #44 Text L43 "" │ Int64 idComponent=44 idParent=15 idxString=0 inputLineNum=43 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ Bool includeInOutFile isEmpty containsText isText ├─ Line #45 Text L44 "md"""" │ Int64 idComponent=45 idParent=15 idxString=44 inputLineNum=44 numChildren=0 startMainStr=1 stopMainStr=5 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText ├─ Line #46 Text L45 "This is a 'Block' of markdown text - 'Text'…" │ Int64 idComponent=46 idParent=15 idxString=45 inputLineNum=45 numChildren=0 startMainStr=1 stopMainStr=63 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText ├─ Line #47 Text L46 "The empty line above starts it, so it is NO…" │ Int64 idComponent=47 idParent=15 idxString=46 inputLineNum=46 numChildren=0 startMainStr=1 stopMainStr=66 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText ├─ Line #48 Text L47 "nothing applies, and where nothing applies …" │ Int64 idComponent=48 idParent=15 idxString=47 inputLineNum=47 numChildren=0 startMainStr=1 stopMainStr=63 idExtension=0 idExtended=0 │ Bool includeInOutFile containsText isText └─ Line #49 Text L48 """"" Int64 idComponent=49 idParent=15 idxString=48 inputLineNum=48 numChildren=0 startMainStr=1 stopMainStr=3 idExtension=0 idExtended=0 Bool includeInOutFile containsText isText
The rendered copy of rung 4 — what the basic renderer writes from the run
# This first line is 'Text'. ## This is a 'comment' of 'Text'.
# Line 1 above consists of two BLS 'Segment' Components.
# Both of flavor: 'Text'. The '##' starts a 'comment'.
# BLS [Block, Line, Segment] Components can currently be of
# 3 different flavors: 'Code', 'Meta' and 'Text'.
# Each of which can be turned into a flavored comment by '##'.
## #~ hide ## This is a first 'metaLine' (incl. this comment).
## The 'Line' above consists of two BLS 'Segment's.
## 'hide' is one of Visib's three values: hidden lines STAY
## in the rendered copy, commented out.
a = 1 ## This is a first 'Line' of 'Code'.
b = 2 ## These two lines of 'Code' form a 'Block' of 'Code'.
## The empty line 12 starts this 'Block' and DETACHES it from the metaLine:
## it is NOT attached to any 'metaComponent'
## and therefore unaffected by metadata.
## #~2 ## This second 'metaLine' is kind of a sub-section
## of the first 'metaLine' above and therefore it
## inherits its 'metaStatement's. More later.
## c = 3 ## This 'Line' of 'Code' IS attached
## to the 'metaBlock' of "#~2" (no empty line between),
## which in turn inherits from the first 'metaBlock'.
#~ show ## 'show', Visib's third value, is the DEFAULT; stated here:
# This 'Line' of 'Text' is attached and stays as it is.
## e = 5 ## #~ hide
## The 'Line' above ENDS in a 'metaSegment': a '#~' after its content.
## It applies to that one 'Line' only - so 'e = 5' gets hidden.
f = 6 ## This 'Line' of 'Code', in the same 'Block', is NOT hidden.
#~ hide{ isCode } ## A CONDITION: 'hide' applies only where it holds.
## 'isCode', a BLS key word, asks each attached Component: are you 'Code'?
## This 'metaBlock' itself is 'Meta', not 'Code': it stays as it is.
# This 'Line' of 'Text' is attached, but 'isCode' fails: it stays.
## g = 7 ## This 'Line' of 'Code' follows directly: 'isCode' holds - hidden.
md"""
This is a 'Block' of markdown text - 'Text' too, without a '#'.
The empty line above starts it, so it is NOT attached to metadata:
nothing applies, and where nothing applies the value is 'show'.
"""The view, for the three Components the new metaBlock reaches: hide on the g = 7 Block only; the Text Block bare although attached; the conditioned metaBlock itself bare, because isCode is false for a Meta Component — a metaBlock carries the value it states where its condition holds for it. Nine rows in all, one more than rung 3. The rendered copy: the conditioned metaLine and the Text Line as they are, g = 7 behind ##. The BLS key words are the Bool entries the Component-tree view prints for every Component: isText on the Text Block, isCode on the Code Block, isMeta on the metaBlock.
Rung 5 — the meta hierarchy: the depths
A station, a new short file. "For the purpose of inheritance, a hierarchy of blocks of metadata can be defined by appending additional ~s to the head of a metablock's first metaline or, alternatively, adding there a digit representing the desired depth within the metahierarchy" — the JuliaCon 2026 proposal: #~ is depth 1, #~2 or #~~ depth 2, #~3 or #~~~ depth 3, and #~0 is the file level, the shallowest depth, above depth 1. A Component carries the statements of the metaBlock it is attached to and of every shallower metaBlock that one nests under; where two Visib statements reach it, the closer applicable one wins — labels, by contrast, accumulate. A metaBlock at the same or a shallower depth ends the reach of the open metaBlocks at its depth and below: a second #~ is a sibling of the first and inherits from the file level alone, not from its sibling and not from the depth-3 metaBlock between them. The view prints the value that wins; a statement that reaches a Component and is overruled leaves no row. The second Intro-Tour file, rung 6, opens with a condition at the file level: #~0 hide{ :label🍒 && isText }. Every content Block in this file is attached to a metaBlock.
The full delivery view of rung 5 — every Block and Line with its evaluated values, as the development tools print it
File rung-05_hierarchy.jl — 9 evals rows on 9 cells (of 9 Blocks · 14 Lines) ├─ Block #2 Meta L1 "#~0 hide ## Depth 0, the FILE level: …" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,2)] │ └─ Line #2 Meta L1 "#~0 hide ## Depth 0, the FILE level: …" (no evals — defaults apply) ├─ Block #3 Meta L2–L3 "#~ show ## Depth 1 ('#~') nests under…" │ ● visib => :show (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,3)] │ ├─ Line #3 Meta L2 "" (no evals — defaults apply) │ └─ Line #4 Meta L3 "#~ show ## Depth 1 ('#~') nests under…" (no evals — defaults apply) ├─ Block #4 Code L4 "a = 1 ## This 'Line' of 'Code' is att…" │ ● visib => :show (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,4)] │ └─ Line #5 Code L4 "a = 1 ## This 'Line' of 'Code' is att…" (no evals — defaults apply) ├─ Block #5 Meta L5–L6 "#~2 ## Depth 2 nests under the open d…" │ ● visib => :show (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,5)] │ ├─ Line #6 Meta L5 "" (no evals — defaults apply) │ └─ Line #7 Meta L6 "#~2 ## Depth 2 nests under the open d…" (no evals — defaults apply) ├─ Block #6 Text L7 "# This 'Line' of 'Text' is attached t…" │ ● visib => :show (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,6)] │ └─ Line #8 Text L7 "# This 'Line' of 'Text' is attached t…" (no evals — defaults apply) ├─ Block #7 Meta L8–L9 "#~3 discard ## Depth 3 ('#~3'): its o…" │ ● visib => :discard (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,7)] │ ├─ Line #9 Meta L8 "" (no evals — defaults apply) │ └─ Line #10 Meta L9 "#~3 discard ## Depth 3 ('#~3'): its o…" (no evals — defaults apply) ├─ Block #8 Code L10 "b = 2 ## Attached to depth 3: DISCARD…" │ ● visib => :discard (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,8)] │ └─ Line #11 Code L10 "b = 2 ## Attached to depth 3: DISCARD…" (no evals — defaults apply) ├─ Block #9 Meta L11–L13 "#~ ## A second depth-1 'metaBlock' is…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,9)] │ ├─ Line #12 Meta L11 "" (no evals — defaults apply) │ ├─ Line #13 Meta L12 "#~ ## A second depth-1 'metaBlock' is…" (no evals — defaults apply) │ └─ Line #14 Meta L13 "## it inherits from depth 0 only - no…" (no evals — defaults apply) └─ Block #10 Code L14 "c = 3 ## This 'Line' of 'Code' is att…" ● visib => :hide (+) handle ns=:default grain=Block path=[(direct,1) (direct,10)] └─ Line #15 Code L14 "c = 3 ## This 'Line' of 'Code' is att…" (no evals — defaults apply) ── the run: status PROCESS_OK · no diagnostics
The Component-tree view of rung 5 — every Block, Line and Segment with the facts BLS recorded about it (the Bool row) and its numbers (the Int64 row)
File rung-05_hierarchy.jl — 9 Blocks · 14 Lines · 16 Segments ├─ Block #2 Meta L1 │ │ Int64 idComponent=2 idParent=1 idxString=0 inputLineNum=1 numChildren=1 startMainStr=1 stopMainStr=1 idExtension=0 idExtended=0 │ │ Bool depth0 attachedToMeta containsMeta isMeta │ └─ Line #2 Meta L1 │ │ Int64 idComponent=2 idParent=2 idxString=0 inputLineNum=1 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool depth0 containsMeta isMeta │ ├─ Segment #2 Meta L1 "#~0 hide " │ │ Int64 idComponent=2 idParent=2 idxString=1 inputLineNum=1 numChildren=0 startMainStr=1 stopMainStr=9 idExtension=0 idExtended=0 │ │ Bool depth0 includeInOutFile containsMeta isMeta hasMetaStr │ └─ Segment #3 Meta L1 "## Depth 0, the FILE level: every 'metaBloc…" │ Int64 idComponent=3 idParent=2 idxString=1 inputLineNum=1 numChildren=0 startMainStr=10 stopMainStr=73 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #3 Meta L2–L3 │ │ Int64 idComponent=3 idParent=1 idxString=0 inputLineNum=2 numChildren=2 startMainStr=2 stopMainStr=3 idExtension=0 idExtended=0 │ │ Bool depth1 attachedToMeta containsMeta isMeta │ ├─ Line #3 Meta L2 "" │ │ Int64 idComponent=3 idParent=3 idxString=0 inputLineNum=2 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ └─ Line #4 Meta L3 │ │ Int64 idComponent=4 idParent=3 idxString=0 inputLineNum=3 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool depth1 containsMeta isMeta │ ├─ Segment #4 Meta L3 "#~ show " │ │ Int64 idComponent=4 idParent=4 idxString=3 inputLineNum=3 numChildren=0 startMainStr=1 stopMainStr=8 idExtension=0 idExtended=0 │ │ Bool depth1 includeInOutFile containsMeta isMeta hasMetaStr │ └─ Segment #5 Meta L3 "## Depth 1 ('#~') nests under depth 0; its …" │ Int64 idComponent=5 idParent=4 idxString=3 inputLineNum=3 numChildren=0 startMainStr=9 stopMainStr=75 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #4 Code L4 │ │ Int64 idComponent=4 idParent=1 idxString=0 inputLineNum=4 numChildren=1 startMainStr=4 stopMainStr=4 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ └─ Line #5 Code L4 │ │ Int64 idComponent=5 idParent=4 idxString=0 inputLineNum=4 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ ├─ Segment #6 Code L4 "a = 1 " │ │ Int64 idComponent=6 idParent=5 idxString=4 inputLineNum=4 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ Bool attachedToMeta includeInOutFile containsCode isCode │ └─ Segment #7 Code L4 "## This 'Line' of 'Code' is attached to dep…" │ Int64 idComponent=7 idParent=5 idxString=4 inputLineNum=4 numChildren=0 startMainStr=7 stopMainStr=61 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode ├─ Block #5 Meta L5–L6 │ │ Int64 idComponent=5 idParent=1 idxString=0 inputLineNum=5 numChildren=2 startMainStr=5 stopMainStr=6 idExtension=0 idExtended=0 │ │ Bool depth2 attachedToMeta containsMeta isMeta │ ├─ Line #6 Meta L5 "" │ │ Int64 idComponent=6 idParent=5 idxString=0 inputLineNum=5 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ └─ Line #7 Meta L6 │ │ Int64 idComponent=7 idParent=5 idxString=0 inputLineNum=6 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool depth2 containsMeta isMeta │ ├─ Segment #8 Meta L6 "#~2 " │ │ Int64 idComponent=8 idParent=7 idxString=6 inputLineNum=6 numChildren=0 startMainStr=1 stopMainStr=4 idExtension=0 idExtended=0 │ │ Bool depth2 includeInOutFile containsMeta isMeta hasMetaStr │ └─ Segment #9 Meta L6 "## Depth 2 nests under the open depth 1 and…" │ Int64 idComponent=9 idParent=7 idxString=6 inputLineNum=6 numChildren=0 startMainStr=5 stopMainStr=68 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #6 Text L7 │ │ Int64 idComponent=6 idParent=1 idxString=0 inputLineNum=7 numChildren=1 startMainStr=7 stopMainStr=7 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsText isText │ └─ Line #8 Text L7 "# This 'Line' of 'Text' is attached to dept…" │ Int64 idComponent=8 idParent=6 idxString=7 inputLineNum=7 numChildren=0 startMainStr=1 stopMainStr=75 idExtension=0 idExtended=0 │ Bool attachedToMeta includeInOutFile containsText isText ├─ Block #7 Meta L8–L9 │ │ Int64 idComponent=7 idParent=1 idxString=0 inputLineNum=8 numChildren=2 startMainStr=8 stopMainStr=9 idExtension=0 idExtended=0 │ │ Bool depth3 attachedToMeta containsMeta isMeta │ ├─ Line #9 Meta L8 "" │ │ Int64 idComponent=9 idParent=7 idxString=0 inputLineNum=8 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ └─ Line #10 Meta L9 │ │ Int64 idComponent=10 idParent=7 idxString=0 inputLineNum=9 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool depth3 containsMeta isMeta │ ├─ Segment #10 Meta L9 "#~3 discard " │ │ Int64 idComponent=10 idParent=10 idxString=9 inputLineNum=9 numChildren=0 startMainStr=1 stopMainStr=12 idExtension=0 idExtended=0 │ │ Bool depth3 includeInOutFile containsMeta isMeta hasMetaStr │ └─ Segment #11 Meta L9 "## Depth 3 ('#~3'): its own 'discard' is cl…" │ Int64 idComponent=11 idParent=10 idxString=9 inputLineNum=9 numChildren=0 startMainStr=13 stopMainStr=71 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #8 Code L10 │ │ Int64 idComponent=8 idParent=1 idxString=0 inputLineNum=10 numChildren=1 startMainStr=10 stopMainStr=10 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ └─ Line #11 Code L10 │ │ Int64 idComponent=11 idParent=8 idxString=0 inputLineNum=10 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ ├─ Segment #12 Code L10 "b = 2 " │ │ Int64 idComponent=12 idParent=11 idxString=10 inputLineNum=10 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ Bool attachedToMeta includeInOutFile containsCode isCode │ └─ Segment #13 Code L10 "## Attached to depth 3: DISCARDED - the 'me…" │ Int64 idComponent=13 idParent=11 idxString=10 inputLineNum=10 numChildren=0 startMainStr=7 stopMainStr=72 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode ├─ Block #9 Meta L11–L13 │ │ Int64 idComponent=9 idParent=1 idxString=0 inputLineNum=11 numChildren=3 startMainStr=11 stopMainStr=13 idExtension=0 idExtended=0 │ │ Bool depth1 attachedToMeta containsMeta isMeta │ ├─ Line #12 Meta L11 "" │ │ Int64 idComponent=12 idParent=9 idxString=0 inputLineNum=11 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ ├─ Line #13 Meta L12 │ │ │ Int64 idComponent=13 idParent=9 idxString=0 inputLineNum=12 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool depth1 containsMeta isMeta │ │ ├─ Segment #14 Meta L12 "#~ " │ │ │ Int64 idComponent=14 idParent=13 idxString=12 inputLineNum=12 numChildren=0 startMainStr=1 stopMainStr=3 idExtension=0 idExtended=0 │ │ │ Bool depth1 includeInOutFile containsMeta isMeta hasMetaStr │ │ └─ Segment #15 Meta L12 "## A second depth-1 'metaBlock' is a SIBLIN…" │ │ Int64 idComponent=15 idParent=13 idxString=12 inputLineNum=12 numChildren=0 startMainStr=4 stopMainStr=61 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ └─ Line #14 Meta L13 "## it inherits from depth 0 only - not from…" │ Int64 idComponent=14 idParent=9 idxString=13 inputLineNum=13 numChildren=0 startMainStr=1 stopMainStr=74 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr └─ Block #10 Code L14 │ Int64 idComponent=10 idParent=1 idxString=0 inputLineNum=14 numChildren=1 startMainStr=14 stopMainStr=14 idExtension=0 idExtended=0 │ Bool attachedToMeta containsCode isCode └─ Line #15 Code L14 │ Int64 idComponent=15 idParent=10 idxString=0 inputLineNum=14 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ Bool attachedToMeta containsCode isCode ├─ Segment #16 Code L14 "c = 3 " │ Int64 idComponent=16 idParent=15 idxString=14 inputLineNum=14 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ Bool attachedToMeta includeInOutFile containsCode isCode └─ Segment #17 Code L14 "## This 'Line' of 'Code' is attached to the…" Int64 idComponent=17 idParent=15 idxString=14 inputLineNum=14 numChildren=0 startMainStr=7 stopMainStr=66 idExtension=0 idExtended=0 Bool includeInOutFile comment containsCode isCode
The rendered copy of rung 5 — what the basic renderer writes from the run
## #~0 hide ## Depth 0, the FILE level: every 'metaBlock' below inherits it.
#~ show ## Depth 1 ('#~') nests under depth 0; its 'show' OVERRULES 'hide'.
a = 1 ## This 'Line' of 'Code' is attached to depth 1: shown.
#~2 ## Depth 2 nests under the open depth 1 and inherits its 'show'.
# This 'Line' of 'Text' is attached to depth 2: shown, by depth 1's 'show'.
## #~ ## A second depth-1 'metaBlock' is a SIBLING of the first:
## it inherits from depth 0 only - not from its sibling, not from depth 3.
## c = 3 ## This 'Line' of 'Code' is attached to the sibling: hidden.In the full delivery view nine Blocks carry nine rows: the file level hide; depth 1 and a = 1 show; the bare #~2 metaBlock and its attached Text Block carry a show row of their own — an inherited stated value; where only the default applies the view prints no row, it prints "(no evals — defaults apply)"; depth 3 and b = 2 discard; the bare sibling and c = 3 hide, which only the file level can have given them. The Component-tree view prints depth0 to depth3 on the five metaBlocks — depth1 twice, on the first #~ and on its sibling. In the rendered copy the file-level metaLine itself stands behind ##, hidden by its own hide, the depth-3 Block is gone with its metaLine, and the sibling and c = 3 stand behind ##.
Rung 6 — a label applied and read; the Heading values beside it
A station: the second of the two Intro-Tour files of GoMeta's early demos, its label a pictograph. A label is applied with the colon: :label🍒 applies the name label🍒 — a name GoMeta ships with, so the run reports nothing — to the metaBlock that states it and to the Block attached to it, and the view records it as label_label🍒 => true at each Component it applies to; "applies here" in the file's comments means that row. The second #~ metaBlock is a sibling of the first (rung 5) and carries no label: its Block in the view has a heading row and no label row — the sibling rule again, now by a label's absence; labels accumulate, so a missing row is direct evidence. The file-level condition hide{ :label🍒 && isText } is evaluated for every Component it reaches when the Engine applies the statement, so it reads a label applied on a later line, and both halves must hold: it takes the first markdown Block alone. The same construction opens the Documenter example of the JuliaCon 2026 talk, #~0 hide{ :🍻 } over a later #~2 :🍻 (the talk's label a bare pictograph, from before the shipped vocabulary).
A quoted text first on a metaLine is a value of the Heading Alterant; the view records it as head_1 — the 1 its depth. A heading is applied to the metaBlock that states it and to no other Block, where the label reaches the attached Block as well — how far a value reaches is each Alterant's own. Every content Block in this file is attached.
The full delivery view of rung 6 — every Block and Line with its evaluated values, as the development tools print it
File rung-06_labels.jl — 8 evals rows on 5 cells (of 7 Blocks · 29 Lines) ├─ Block #2 Meta L1–L2 "#~0 hide{ :label🍒 && isText }⏎## The…" (no evals — defaults apply) │ ├─ Line #2 Meta L1 "#~0 hide{ :label🍒 && isText }" (no evals — defaults apply) │ └─ Line #3 Meta L2 "## The '#~0' above starts a metaLine …" (no evals — defaults apply) ├─ Block #3 Meta L3–L4 "#~ "1. What is an 'Alterant'?" :label…" │ ● head_1 => "1. What is an 'Alterant'?" (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,3)] │ ● label_label🍒 => true (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,3)] │ ├─ Line #4 Meta L3 "" (no evals — defaults apply) │ └─ Line #5 Meta L4 "#~ "1. What is an 'Alterant'?" :label…" (no evals — defaults apply) ├─ Block #4 Text L5–L16 "md"""⏎The 'metaLine' to which this ma…" │ ● label_label🍒 => true (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,4)] │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,4)] │ ├─ Line #6 Text L5 "md"""" (no evals — defaults apply) │ ├─ Line #7 Text L6 "The 'metaLine' to which this markdown…" (no evals — defaults apply) │ ├─ Line #8 Text L7 "contains two Alterant values:" (no evals — defaults apply) │ ├─ Line #9 Text L8 "" (no evals — defaults apply) │ ├─ Line #10 Text L9 "- "1. What is an 'Alterant'?" - A val…" (no evals — defaults apply) │ ├─ Line #11 Text L10 "- :label🍒 - A value of the 'Labels' …" (no evals — defaults apply) │ ├─ Line #12 Text L11 "" (no evals — defaults apply) │ ├─ Line #13 Text L12 "'Alterant's are to 'GoMeta' roughly w…" (no evals — defaults apply) │ ├─ Line #14 Text L13 "- They define what data type their in…" (no evals — defaults apply) │ ├─ Line #15 Text L14 "- They have constructors (kind of)." (no evals — defaults apply) │ ├─ Line #16 Text L15 "- One difference: They DO contain the…" (no evals — defaults apply) │ └─ Line #17 Text L16 """"" (no evals — defaults apply) ├─ Block #5 Meta L17–L18 "#~ "2. When and How does an Alterant …" │ ● head_1 => "2. When and How does an Alterant get applied?" (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,5)] │ ├─ Line #18 Meta L17 "" (no evals — defaults apply) │ └─ Line #19 Meta L18 "#~ "2. When and How does an Alterant …" (no evals — defaults apply) ├─ Block #6 Text L19–L24 "md"""⏎This 'Block' of 'Text' is also …" (no evals — defaults apply) │ ├─ Line #20 Text L19 "md"""" (no evals — defaults apply) │ ├─ Line #21 Text L20 "This 'Block' of 'Text' is also attach…" (no evals — defaults apply) │ ├─ Line #22 Text L21 "However, 'hide' does NOT apply to it,…" (no evals — defaults apply) │ ├─ Line #23 Text L22 "{ :label🍒 && isText } from line 1 ab…" (no evals — defaults apply) │ ├─ Line #24 Text L23 "NOT evaluate to 'true' here because '…" (no evals — defaults apply) │ └─ Line #25 Text L24 """"" (no evals — defaults apply) ├─ Block #7 Meta L25–L26 "#~ "3. Why is this Code line NOT hidd…" │ ● head_1 => "3. Why is this Code line NOT hidden?" (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,7)] │ ● label_label🍒 => true (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,7)] │ ├─ Line #26 Meta L25 "" (no evals — defaults apply) │ └─ Line #27 Meta L26 "#~ "3. Why is this Code line NOT hidd…" (no evals — defaults apply) └─ Block #8 Code L27–L29 "x = 1 ## This 'Line' of 'Code' carrie…" ● label_label🍒 => true (+) handle ns=:default grain=Block path=[(direct,1) (direct,8)] ├─ Line #28 Code L27 "x = 1 ## This 'Line' of 'Code' carrie…" (no evals — defaults apply) ├─ Line #29 Code L28 "## 'Code', not 'Text' - so { :label🍒…" (no evals — defaults apply) └─ Line #30 Code L29 "## and the 'hide' from line 1 spares …" (no evals — defaults apply) ── the run: status PROCESS_OK · no diagnostics
The rendered copy of rung 6 — what the basic renderer writes from the run
#~0 hide{ :label🍒 && isText }
## The '#~0' above starts a metaLine on file level.
#~ "1. What is an 'Alterant'?" :label🍒
## md"""
## The 'metaLine' to which this markdown text is attached
## contains two Alterant values:
## - "1. What is an 'Alterant'?" - A value of the 'Heading' Alterant.
## - :label🍒 - A value of the 'Labels' Alterant.
## 'Alterant's are to 'GoMeta' roughly what 'Type's are to 'Julia':
## - They define what data type their instances can hold.
## - They have constructors (kind of).
## - One difference: They DO contain their own methods.
## """
#~ "2. When and How does an Alterant get applied?"
md"""
This 'Block' of 'Text' is also attached to a metaComponent.
However, 'hide' does NOT apply to it, since the condition
{ :label🍒 && isText } from line 1 above does
NOT evaluate to 'true' here because 'label🍒' does NOT apply here.
"""
#~ "3. Why is this Code line NOT hidden?" :label🍒
x = 1 ## This 'Line' of 'Code' carries ':label🍒' too, BUT it is
## 'Code', not 'Text' - so { :label🍒 && isText } fails here
## and the 'hide' from line 1 spares it. Both halves must hold.Eight rows on five cells: two Alterants on each of the two #~ metaBlocks that state the label (head_1 and label_label🍒 on the first and the third), hide on the first markdown Block alone, "(no evals — defaults apply)" on the attached second markdown Block and on the file-level metaBlock — a metaBlock carries the value it states where its condition holds for it, and this one is Meta, not Text. The Code Block carries the label but is not Text; the two metaBlocks that state the label carry it but are Meta. In the rendered copy the first markdown Block stands behind ## with its two empty lines left empty, the file-level metaLine stands as it is — where rung 5's stood behind ## — and everything else as it is. The run's line reads "no diagnostics": label🍒 is a name GoMeta ships with.
Rung 7 — the explicit close
A station: three short sections, each opened by one metaBlock at depth 1 and ended by the close #] in its own way — and a fourth metaBlock, headed directly under the last close. A #] line closes the section it stands in — the innermost one still open — and the meta hierarchy returns to that section's parent, here the file level; the line carrying the close is the last line of the section it closes and keeps that section's values; plain content directly after the close, with no empty line between, continues in the parent and carries the parent's values — the close detaches nothing, the empty line is the one way to detach. The close may also end a content line (c = 3 #]): that line is the section's last and keeps its values. A metaLine directly under a close heads its own metaBlock and is applied normally. Two rules the file does not show: a close followed by further content on the same line is reserved and is refused at parse time, and with nothing open a close has no effect on the hierarchy — the file level is never closed. The package's behaviour since 0.4.5; the committed example feature_explicit_close.jl shows the same close with nested depths.
The full delivery view of rung 7 — every Block and Line with its evaluated values, as the development tools print it
File rung-07_explicit-close.jl — 10 evals rows on 10 cells (of 12 Blocks · 24 Lines) ├─ Block #2 Meta L1–L2 "#~ hide ## A 'metaLine' opens a 'meta…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,2)] │ ├─ Line #2 Meta L1 "#~ hide ## A 'metaLine' opens a 'meta…" (no evals — defaults apply) │ └─ Line #3 Meta L2 "## every 'Line' attached to it (no em…" (no evals — defaults apply) ├─ Block #3 Code L3–L6 "a = 1 ## Attached, so hidden.⏎## The …" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,3)] │ ├─ Line #4 Code L3 "a = 1 ## Attached, so hidden." (no evals — defaults apply) │ ├─ Line #5 Code L4 "## The next 'Line' holds only '#]': T…" (no evals — defaults apply) │ ├─ Line #6 Code L5 "## stands in - the innermost 'metaBlo…" (no evals — defaults apply) │ └─ Line #7 Code L6 "## section's LAST 'Line', keeping its…" (no evals — defaults apply) ├─ Block #4 Meta L7 "#]" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,4)] │ └─ Line #8 Meta L7 "#]" (no evals — defaults apply) ├─ Block #5 Code L8–L10 "b = 2 ## No empty line, yet this 'Lin…" (no evals — defaults apply) │ ├─ Line #9 Code L8 "b = 2 ## No empty line, yet this 'Lin…" (no evals — defaults apply) │ ├─ Line #10 Code L9 "## it continues at the PARENT - here …" (no evals — defaults apply) │ └─ Line #11 Code L10 "## nothing - so nothing applies to 'b…" (no evals — defaults apply) ├─ Block #6 Meta L11–L15 "#~ hide ## A second 'metaBlock' at de…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,6)] │ ├─ Line #12 Meta L11 "" (no evals — defaults apply) │ ├─ Line #13 Meta L12 "#~ hide ## A second 'metaBlock' at de…" (no evals — defaults apply) │ ├─ Line #14 Meta L13 "## The close may also END a content '…" (no evals — defaults apply) │ ├─ Line #15 Meta L14 "## that 'Line' is the section's last …" (no evals — defaults apply) │ └─ Line #16 Meta L15 "## close too." (no evals — defaults apply) ├─ Block #7 Code L16 "c = 3 #]" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,7)] │ └─ Line #17 Code L16 "c = 3 #]" (no evals — defaults apply) ├─ Block #8 Text L17 "# A 'Text' Line this time: it continu…" (no evals — defaults apply) │ └─ Line #18 Text L17 "# A 'Text' Line this time: it continu…" (no evals — defaults apply) ├─ Block #9 Meta L18–L19 "#~ hide ## A third 'metaBlock' at dep…" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,9)] │ ├─ Line #19 Meta L18 "" (no evals — defaults apply) │ └─ Line #20 Meta L19 "#~ hide ## A third 'metaBlock' at dep…" (no evals — defaults apply) ├─ Block #10 Code L20 "e = 5 ## Attached, hidden." │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,10)] │ └─ Line #21 Code L20 "e = 5 ## Attached, hidden." (no evals — defaults apply) ├─ Block #11 Meta L21 "#]" │ ● visib => :hide (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,11)] │ └─ Line #22 Meta L21 "#]" (no evals — defaults apply) ├─ Block #12 Meta L22–L23 "#~ show ## A 'metaLine' DIRECTLY unde…" │ ● visib => :show (+) │ handle ns=:default grain=Block path=[(direct,1) (direct,12)] │ ├─ Line #23 Meta L22 "#~ show ## A 'metaLine' DIRECTLY unde…" (no evals — defaults apply) │ └─ Line #24 Meta L23 "## 'metaBlock': a new one at depth 1,…" (no evals — defaults apply) └─ Block #13 Code L24 "f = 6 ## Attached to it: visible, and…" ● visib => :show (+) handle ns=:default grain=Block path=[(direct,1) (direct,13)] └─ Line #25 Code L24 "f = 6 ## Attached to it: visible, and…" (no evals — defaults apply) ── the run: status PROCESS_OK · no diagnostics
The Component-tree view of rung 7 — every Block, Line and Segment with the facts BLS recorded about it (the Bool row) and its numbers (the Int64 row)
File rung-07_explicit-close.jl — 12 Blocks · 24 Lines · 18 Segments ├─ Block #2 Meta L1–L2 │ │ Int64 idComponent=2 idParent=1 idxString=0 inputLineNum=1 numChildren=2 startMainStr=1 stopMainStr=2 idExtension=0 idExtended=0 │ │ Bool depth1 attachedToMeta containsMeta isMeta │ ├─ Line #2 Meta L1 │ │ │ Int64 idComponent=2 idParent=2 idxString=0 inputLineNum=1 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool depth1 containsMeta isMeta │ │ ├─ Segment #2 Meta L1 "#~ hide " │ │ │ Int64 idComponent=2 idParent=2 idxString=1 inputLineNum=1 numChildren=0 startMainStr=1 stopMainStr=8 idExtension=0 idExtended=0 │ │ │ Bool depth1 includeInOutFile containsMeta isMeta hasMetaStr │ │ └─ Segment #3 Meta L1 "## A 'metaLine' opens a 'metaBlock' at dept…" │ │ Int64 idComponent=3 idParent=2 idxString=1 inputLineNum=1 numChildren=0 startMainStr=9 stopMainStr=70 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ └─ Line #3 Meta L2 "## every 'Line' attached to it (no empty li…" │ Int64 idComponent=3 idParent=2 idxString=2 inputLineNum=2 numChildren=0 startMainStr=1 stopMainStr=55 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #3 Code L3–L6 │ │ Int64 idComponent=3 idParent=1 idxString=0 inputLineNum=3 numChildren=4 startMainStr=3 stopMainStr=6 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ ├─ Line #4 Code L3 │ │ │ Int64 idComponent=4 idParent=3 idxString=0 inputLineNum=3 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool attachedToMeta containsCode isCode │ │ ├─ Segment #4 Code L3 "a = 1 " │ │ │ Int64 idComponent=4 idParent=4 idxString=3 inputLineNum=3 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ │ Bool attachedToMeta includeInOutFile containsCode isCode │ │ └─ Segment #5 Code L3 "## Attached, so hidden." │ │ Int64 idComponent=5 idParent=4 idxString=3 inputLineNum=3 numChildren=0 startMainStr=7 stopMainStr=29 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #5 Code L4 "## The next 'Line' holds only '#]': THE CLO…" │ │ Int64 idComponent=5 idParent=3 idxString=4 inputLineNum=4 numChildren=0 startMainStr=1 stopMainStr=69 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #6 Code L5 "## stands in - the innermost 'metaBlock' st…" │ │ Int64 idComponent=6 idParent=3 idxString=5 inputLineNum=5 numChildren=0 startMainStr=1 stopMainStr=65 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ └─ Line #7 Code L6 "## section's LAST 'Line', keeping its value…" │ Int64 idComponent=7 idParent=3 idxString=6 inputLineNum=6 numChildren=0 startMainStr=1 stopMainStr=57 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode ├─ Block #4 Meta L7 │ │ Int64 idComponent=4 idParent=1 idxString=0 inputLineNum=7 numChildren=1 startMainStr=7 stopMainStr=7 idExtension=0 idExtended=0 │ │ Bool attachedToMeta stopAttachmentToMeta ignoreThisMeta containsMeta isMeta │ └─ Line #8 Meta L7 "#]" │ Int64 idComponent=8 idParent=4 idxString=7 inputLineNum=7 numChildren=0 startMainStr=1 stopMainStr=2 idExtension=0 idExtended=0 │ Bool attachedToMeta stopAttachmentToMeta ignoreThisMeta includeInOutFile containsMeta isMeta hasMetaStr ├─ Block #5 Code L8–L10 │ │ Int64 idComponent=5 idParent=1 idxString=0 inputLineNum=8 numChildren=3 startMainStr=8 stopMainStr=10 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ ├─ Line #9 Code L8 │ │ │ Int64 idComponent=9 idParent=5 idxString=0 inputLineNum=8 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool attachedToMeta containsCode isCode │ │ ├─ Segment #6 Code L8 "b = 2 " │ │ │ Int64 idComponent=6 idParent=9 idxString=8 inputLineNum=8 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ │ Bool attachedToMeta includeInOutFile containsCode isCode │ │ └─ Segment #7 Code L8 "## No empty line, yet this 'Line' is NOT in…" │ │ Int64 idComponent=7 idParent=9 idxString=8 inputLineNum=8 numChildren=0 startMainStr=7 stopMainStr=69 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ ├─ Line #10 Code L9 "## it continues at the PARENT - here the fi…" │ │ Int64 idComponent=10 idParent=5 idxString=9 inputLineNum=9 numChildren=0 startMainStr=1 stopMainStr=65 idExtension=0 idExtended=0 │ │ Bool includeInOutFile comment containsCode isCode │ └─ Line #11 Code L10 "## nothing - so nothing applies to 'b = 2':…" │ Int64 idComponent=11 idParent=5 idxString=10 inputLineNum=10 numChildren=0 startMainStr=1 stopMainStr=62 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode ├─ Block #6 Meta L11–L15 │ │ Int64 idComponent=6 idParent=1 idxString=0 inputLineNum=11 numChildren=5 startMainStr=11 stopMainStr=15 idExtension=0 idExtended=0 │ │ Bool depth1 attachedToMeta containsMeta isMeta │ ├─ Line #12 Meta L11 "" │ │ Int64 idComponent=12 idParent=6 idxString=0 inputLineNum=11 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ ├─ Line #13 Meta L12 │ │ │ Int64 idComponent=13 idParent=6 idxString=0 inputLineNum=12 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool depth1 containsMeta isMeta │ │ ├─ Segment #8 Meta L12 "#~ hide " │ │ │ Int64 idComponent=8 idParent=13 idxString=12 inputLineNum=12 numChildren=0 startMainStr=1 stopMainStr=8 idExtension=0 idExtended=0 │ │ │ Bool depth1 includeInOutFile containsMeta isMeta hasMetaStr │ │ └─ Segment #9 Meta L12 "## A second 'metaBlock' at depth 1." │ │ Int64 idComponent=9 idParent=13 idxString=12 inputLineNum=12 numChildren=0 startMainStr=9 stopMainStr=43 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ ├─ Line #14 Meta L13 "## The close may also END a content 'Line',…" │ │ Int64 idComponent=14 idParent=6 idxString=13 inputLineNum=13 numChildren=0 startMainStr=1 stopMainStr=69 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ ├─ Line #15 Meta L14 "## that 'Line' is the section's last one an…" │ │ Int64 idComponent=15 idParent=6 idxString=14 inputLineNum=14 numChildren=0 startMainStr=1 stopMainStr=63 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ └─ Line #16 Meta L15 "## close too." │ Int64 idComponent=16 idParent=6 idxString=15 inputLineNum=15 numChildren=0 startMainStr=1 stopMainStr=13 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #7 Code L16 │ │ Int64 idComponent=7 idParent=1 idxString=0 inputLineNum=16 numChildren=1 startMainStr=16 stopMainStr=16 idExtension=0 idExtended=0 │ │ Bool attachedToMeta stopAttachmentToMeta containsCode containsMeta isCode │ └─ Line #17 Code L16 │ │ Int64 idComponent=17 idParent=7 idxString=0 inputLineNum=16 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool attachedToMeta stopAttachmentToMeta containsCode containsMeta isCode │ ├─ Segment #10 Code L16 "c = 3 " │ │ Int64 idComponent=10 idParent=17 idxString=16 inputLineNum=16 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ Bool attachedToMeta includeInOutFile containsCode isCode │ └─ Segment #11 Meta L16 "#]" │ Int64 idComponent=11 idParent=17 idxString=16 inputLineNum=16 numChildren=0 startMainStr=7 stopMainStr=8 idExtension=0 idExtended=0 │ Bool stopAttachmentToMeta ignoreThisMeta includeInOutFile containsMeta isMeta hasMetaStr ├─ Block #8 Text L17 │ │ Int64 idComponent=8 idParent=1 idxString=0 inputLineNum=17 numChildren=1 startMainStr=17 stopMainStr=17 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsText isText │ └─ Line #18 Text L17 "# A 'Text' Line this time: it continues at …" │ Int64 idComponent=18 idParent=8 idxString=17 inputLineNum=17 numChildren=0 startMainStr=1 stopMainStr=68 idExtension=0 idExtended=0 │ Bool attachedToMeta includeInOutFile containsText isText ├─ Block #9 Meta L18–L19 │ │ Int64 idComponent=9 idParent=1 idxString=0 inputLineNum=18 numChildren=2 startMainStr=18 stopMainStr=19 idExtension=0 idExtended=0 │ │ Bool depth1 attachedToMeta containsMeta isMeta │ ├─ Line #19 Meta L18 "" │ │ Int64 idComponent=19 idParent=9 idxString=0 inputLineNum=18 numChildren=0 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool includeInOutFile isEmpty containsMeta isMeta │ └─ Line #20 Meta L19 │ │ Int64 idComponent=20 idParent=9 idxString=0 inputLineNum=19 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool depth1 containsMeta isMeta │ ├─ Segment #12 Meta L19 "#~ hide " │ │ Int64 idComponent=12 idParent=20 idxString=19 inputLineNum=19 numChildren=0 startMainStr=1 stopMainStr=8 idExtension=0 idExtended=0 │ │ Bool depth1 includeInOutFile containsMeta isMeta hasMetaStr │ └─ Segment #13 Meta L19 "## A third 'metaBlock' at depth 1." │ Int64 idComponent=13 idParent=20 idxString=19 inputLineNum=19 numChildren=0 startMainStr=9 stopMainStr=42 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr ├─ Block #10 Code L20 │ │ Int64 idComponent=10 idParent=1 idxString=0 inputLineNum=20 numChildren=1 startMainStr=20 stopMainStr=20 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ └─ Line #21 Code L20 │ │ Int64 idComponent=21 idParent=10 idxString=0 inputLineNum=20 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ Bool attachedToMeta containsCode isCode │ ├─ Segment #14 Code L20 "e = 5 " │ │ Int64 idComponent=14 idParent=21 idxString=20 inputLineNum=20 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ │ Bool attachedToMeta includeInOutFile containsCode isCode │ └─ Segment #15 Code L20 "## Attached, hidden." │ Int64 idComponent=15 idParent=21 idxString=20 inputLineNum=20 numChildren=0 startMainStr=7 stopMainStr=26 idExtension=0 idExtended=0 │ Bool includeInOutFile comment containsCode isCode ├─ Block #11 Meta L21 │ │ Int64 idComponent=11 idParent=1 idxString=0 inputLineNum=21 numChildren=1 startMainStr=21 stopMainStr=21 idExtension=0 idExtended=0 │ │ Bool attachedToMeta stopAttachmentToMeta ignoreThisMeta containsMeta isMeta │ └─ Line #22 Meta L21 "#]" │ Int64 idComponent=22 idParent=11 idxString=21 inputLineNum=21 numChildren=0 startMainStr=1 stopMainStr=2 idExtension=0 idExtended=0 │ Bool attachedToMeta stopAttachmentToMeta ignoreThisMeta includeInOutFile containsMeta isMeta hasMetaStr ├─ Block #12 Meta L22–L23 │ │ Int64 idComponent=12 idParent=1 idxString=0 inputLineNum=22 numChildren=2 startMainStr=22 stopMainStr=23 idExtension=0 idExtended=0 │ │ Bool depth1 attachedToMeta containsMeta isMeta │ ├─ Line #23 Meta L22 │ │ │ Int64 idComponent=23 idParent=12 idxString=0 inputLineNum=22 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ │ │ Bool depth1 attachedToMeta containsMeta isMeta │ │ ├─ Segment #16 Meta L22 "#~ show " │ │ │ Int64 idComponent=16 idParent=23 idxString=22 inputLineNum=22 numChildren=0 startMainStr=1 stopMainStr=8 idExtension=0 idExtended=0 │ │ │ Bool depth1 attachedToMeta includeInOutFile containsMeta isMeta hasMetaStr │ │ └─ Segment #17 Meta L22 "## A 'metaLine' DIRECTLY under a close head…" │ │ Int64 idComponent=17 idParent=23 idxString=22 inputLineNum=22 numChildren=0 startMainStr=9 stopMainStr=60 idExtension=0 idExtended=0 │ │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr │ └─ Line #24 Meta L23 "## 'metaBlock': a new one at depth 1, appli…" │ Int64 idComponent=24 idParent=12 idxString=23 inputLineNum=23 numChildren=0 startMainStr=1 stopMainStr=64 idExtension=0 idExtended=0 │ Bool ignoreThisMeta includeInOutFile comment containsMeta isMeta hasMetaStr └─ Block #13 Code L24 │ Int64 idComponent=13 idParent=1 idxString=0 inputLineNum=24 numChildren=1 startMainStr=24 stopMainStr=24 idExtension=0 idExtended=0 │ Bool attachedToMeta containsCode isCode └─ Line #25 Code L24 │ Int64 idComponent=25 idParent=13 idxString=0 inputLineNum=24 numChildren=2 startMainStr=0 stopMainStr=0 idExtension=0 idExtended=0 │ Bool attachedToMeta containsCode isCode ├─ Segment #18 Code L24 "f = 6 " │ Int64 idComponent=18 idParent=25 idxString=24 inputLineNum=24 numChildren=0 startMainStr=1 stopMainStr=6 idExtension=0 idExtended=0 │ Bool attachedToMeta includeInOutFile containsCode isCode └─ Segment #19 Code L24 "## Attached to it: visible, and the view re…" Int64 idComponent=19 idParent=25 idxString=24 inputLineNum=24 numChildren=0 startMainStr=7 stopMainStr=69 idExtension=0 idExtended=0 Bool includeInOutFile comment containsCode isCode
The rendered copy of rung 7 — what the basic renderer writes from the run
## #~ hide ## A 'metaLine' opens a 'metaBlock' at depth 1: 'hide' reaches
## every 'Line' attached to it (no empty line between).
## a = 1 ## Attached, so hidden.
## The next 'Line' holds only '#]': THE CLOSE. It ENDS the section it
## stands in - the innermost 'metaBlock' still open - and is that
## section's LAST 'Line', keeping its values: hidden too.
## #]
b = 2 ## No empty line, yet this 'Line' is NOT in the closed section:
## it continues at the PARENT - here the file level, which states
## nothing - so nothing applies to 'b = 2': 'show' by default.
## #~ hide ## A second 'metaBlock' at depth 1.
## The close may also END a content 'Line', as the next 'Line' shows:
## that 'Line' is the section's last one and keeps 'hide' - its
## close too.
## c = 3 ## #]
# A 'Text' Line this time: it continues at the parent too - visible.
## #~ hide ## A third 'metaBlock' at depth 1.
## e = 5 ## Attached, hidden.
## #]
#~ show ## A 'metaLine' DIRECTLY under a close heads its OWN
## 'metaBlock': a new one at depth 1, applied normally - 'show'.
f = 6 ## Attached to it: visible, and the view records 'show' for it.Ten rows on ten cells: hide on the three #~ hide metaBlocks, on the Code Blocks attached to them (a = 1, c = 3 #], e = 5) and on the two #] lines standing alone — the close keeps the values of the section it closes; "(no evals — defaults apply)" on b = 2 and on the Text line after c = 3 #], which continue at the file level, where nothing applies and the value is show by default; show on the #~ show metaBlock headed directly under the third close and on f = 6 attached to it. In the Component-tree view each #] standing alone is a Meta Block of its own, and the #] of c = 3 #] a Segment of its Code Line, every one flagged stopAttachmentToMeta and ignoreThisMeta — BLS's record of the close, not a detachment: the Blocks after them carry attachedToMeta. In the rendered copy every hidden content line stands behind ## — the two #] lines among them, and c = 3 #] as ## c = 3 ## #] — the two hidden empty lines stay empty and the hidden ## comment lines are not marked twice (rung 2), while b = 2, the Text line, the #~ show line and f = 6 stand as they are. The run's line reads "no diagnostics".
From here: The committed files — the package's example pairs, two of them the law of the notation; Syntax & semantics for every rule the rungs used; Getting started for the run itself.