CLN Wiki · Syntax · v2.3
Tabular Data
When your data has fixed columns and scalar cells, it deserves a table.
CLN v2.3 delivers — in plain text, no renderer required.
01/
Definition
Term
DEFINE: Tabular Data in CLNv2.3 NEW
((( col | col | col )))(( val | val | val ))| pipe characterCOMPARE: Before and after v2.3motivation
|| spoilers || and »links permitted inside cells
02/
Syntax
Grammar
SYNTAX: Table grammar — plain text sourcecopy-paste ready
((( Metric | Option A | Option B )))
(( Speed | fast | slow ))
(( Memory | O(1) | O(n) ))
(( Stable | No | Yes ))
ANALYSIS: Algorithm comparison
= choosing sort algorithm for 10M records
((( Algorithm | Time | Space | Stable )))
(( QuickSort | O(n log n) | O(log n) | No ))
(( MergeSort | O(n log n) | O(n) | Yes ))
(( HeapSort | O(n log n) | O(1) | No ))
→ MergeSort chosen — stability required
((( Feature | Free | Pro | Enterprise )))
(( Storage | 5GB | 50GB | Unlimited ))
(( SSO | | | ✓ ))
(( API access | | ✓ | ✓ ))
DEFINE: Token anatomyparser view
((( … )))(( … ))| pipe, one or more spaces either side((( → header → )))(( → row → )) until no more rows( ) blocks inside cells
03/
Rules & Constraints
Spec §7.2
SPEC: Complete rule set — CLN §7.2normative
((( ))) header row per table(( )) data rows follow immediately| pipes|| spoilers || — deferred cell content»[text]##id cross-references((( )))( )= . etc.)
04/
Table vs Parallel Blocks
Decision
? Fixed column schema across all items?
Yes → continue →
No → use
( ) blocks→
? Cells are scalar — one value each?
Yes → continue →
No → use
( ) blocks→
? Reader scans vertically (compare columns)?
Yes → continue →
No → use
( ) blocks→
→ Use Table
((( col | col )))(( val | val ))
EXAMPLE: Table — API tiers comparisonscalar cells ✓
| Tier | Req/min | Burst | Price/mo | SLA |
|---|---|---|---|---|
| Free | 60 | 10 | $0 | — |
| Starter | 600 | 100 | $29 | 99% |
| Pro | 3 000 | 500 | $99 | 99.9% |
| Enterprise | Custom | Custom | Custom | 99.99% |
EXAMPLE: Blocks — architectural optionshierarchical ✓
( ) blocks, not table= Monolith
. Microservices
05/
Live Examples
Real-World
COMPARE: Database enginestech selection
| Engine | Query | Write | Joins | Cost |
|---|---|---|---|---|
| Postgres | ⚠ slow | ✓ fast | ✓ full | $ |
| ClickHouse | ✓ fast | ⚠ batch | ✗ limited | $$ |
| BigQuery | ✓ fast | ⚠ stream | ✓ full | $$$ |
| DuckDB | ✓ fast | ⚠ local | ✓ full | free |
ANALYSIS: Sprint velocitymetrics
| Sprint | Points | Done | Bugs | Delta |
|---|---|---|---|---|
| S1 | 34 | 28 | 3 | -6 |
| S2 | 36 | 35 | 1 | -1 |
| S3 | 38 | 38 | 0 | ±0 |
| S4 | 40 | 42 | 0 | +2 |
COMPARE: PKM tool matrixfeature table
| Tool | Local | API | CLN | Price |
|---|---|---|---|---|
| Obsidian | ✓ | plugin | ✓ | free |
| Notion | ✗ | ✓ | ⚠ | $16/mo |
| Logseq | ✓ | beta | ✓ | free |
| Plain CLN | ✓ | ✓ | ✓ | free |
06/
Inline Features in Cells
Spoilers · Links
GUIDE: Table cells with spoilers and cross-references|| || and »links inside (( ))
| Algorithm | Best case | Worst case | Stable? | Verdict |
|---|---|---|---|---|
| QuickSort | O(n log n) | O(n²) | No | avoid for sorted input — use randomised pivot |
| MergeSort | O(n log n) | O(n log n) | Yes | preferred when stability matters — extra O(n) space cost |
| TimSort | O(n) | O(n log n) | Yes | Python/Java default — optimised for real-world data patterns |
| HeapSort | O(n log n) | O(n log n) | No | in-place but poor cache behaviour — niche use |
| Task | Depends on | Status |
|---|---|---|
| Tokenizer core | — | |
| Addressing system | »[Tokenizer] | |
| Table parser | »[Addressing] | |
| JSON export | »[all above]##tbl-inline |
07/
Self-Test
|| spoilers ||
QUIZ: Tabular data in CLN v2.3click to reveal answers