Interactive Playground¶
Experiment with Branchline directly in your browser—no installs required. Pick an example, edit the program and input, enable tracing, and run.
Curated examples (all preserved)¶
- collection-transforms — MAP/FILTER/REDUCE style array work
- contract-deep-composition — deep nested output inferred from stdlib-first composition
- contract-literal-brackets-static — literal bracket keys inferred as static paths
- contract-empty-array-append — stable array element typing via
FOR EACH ... WHEREand[] + APPEND - customer-profile — concise profile shaping with FORMAT/GET and CASE fallback
- explain-derived-total — enable tracing to see EXPLAIN output
- junit-badge-summary — XML normalization via FILTER/MAP/SUM pipelines
- order-shipment — shipping snapshot with GET/FORMAT and CASE classification
- pipeline-health-gating — CASE-driven health gating with ASSERT/CHECKPOINT + trace
- error-handling-try-catch — TRY/CATCH with ASSERT fallbacks
- shared-memory-basics — SHARED declarations and writes
- Standard library coverage: stdlib-case-basic, stdlib-core-keys-values, stdlib-core-put-delete, stdlib-core-append-prepend, stdlib-core-walk, stdlib-arrays-overview, stdlib-agg-overview, stdlib-strings-casts, stdlib-strings-text, stdlib-numeric-precision, stdlib-hof-overview, stdlib-debug-explain, stdlib-time-now
Troubleshooting¶
- If the embed does not appear, open the new-tab link above.
- XML inputs are parsed into objects; attributes use the
@attrconvention and text nodes use#text. - The playground runs entirely in your browser using the Kotlin/JS interpreter; no data leaves your machine.
Contract JSON in Playground¶
- Enable Contracts to inspect inferred input/output contracts.
- Keep debug off for clean JSON intended for docs/tooling.
- Enable Contract debug when you need
originand available span metadata.