DOCS/GETTING STARTED/INTRODUCTION

Chapter 01

Meet Block.

Block is a local-first orchestration language for composing native runtimes inside one readable program. It coordinates language boundaries without asking you to replace the ecosystems you already trust.

READ TIME6 MINAPPLIES TOALL EDITIONSUPDATEDAUG 2026
01.1

What Block changes

Modern projects frequently cross language boundaries. Python may own analysis, JavaScript may shape an application payload, SQLite may hold local state, and Rust may handle a performance-sensitive stage. The traditional answer is to split those responsibilities into separate programs and connect them with files, services or custom process glue.

Block keeps the boundary visible but removes much of that ceremony. A .blk file declares an ordered sequence of language blocks. The C# orchestrator parses the file, prepares compatible state, calls the native runtime for each stage and routes the result forward.

Block coordinates; it does not emulate.

Your Python still runs through Python. Your JavaScript still runs through Node.js. Block provides the execution plan and transfer boundary around them.

01.2

The mental model

Think of a Block program as a small execution graph written from top to bottom.

01DeclareWrite native and polyglot stages.
02OrchestrateBuild an ordered execution plan.
03RunLaunch each native runtime.
01

One source of intent

The file shows what runs, in which language and in what order.

02

Explicit boundaries

Runtime transitions remain visible instead of disappearing inside opaque glue.

03

Progressive power

Start with scripting runtimes and expand when the project requires more.

01.3

A first look

This example prepares a list in Python and uses it immediately in JavaScript.

hello.blk
message = "Hello from Block"

<py>
values = [2, 4, 6, 8]
doubled = [value * 2 for value in values]
</py>

<js>
console.log(message);
console.log(doubled.join(", "));
</js>

Execution is sequential. When the Python stage completes, compatible values such as doubled can be prepared for the next runtime context.

01.4

Choose an edition

The language model stays consistent across editions. The main difference is the available runtime surface.