drang
v0.12.1 · released

drang

Let your agents conduct the orchestra.

Real parallelism and process orchestration in a scripting language that ships as a single binary.

drang: Dutch/German for drive, urge, momentum.

Real parallelism, no GIL
# map -> pmap and the same work fans out across
# a bounded worker pool — no GIL, no pool to wire up
[1, 2, 3, 4]
    |> pmap(|$n| $n * $n)   # [1, 4, 9, 16]

Why drang

Real parallelism, no GIL

Change map to pmap and the same code fans out across a bounded, process-wide worker pool — goroutine-backed and without a GIL. Mutable captures are snapshotted for each callback; explicit handles remain shared coordination points.

Glue built in

run / capture / pipe with timeouts and process-tree kill, line streaming, channels, and a minimal HTTP client.

One static binary

No runtime, nothing to install, fast startup. Source and payloads are bounded and validated; format with drang fmt, test with drang test, and ship atomically with drang build.

Errors are values

Failures are ordinary values: ? propagates, // recovers. Migration lint flags directly recognizable discarded, boolean, and output Err uses.

Perl's soul, not its warts

One $ sigil, string interpolation and heredocs, qr// regex literals, and |> pipelines.

Batteries, curated

Modules, frozen immutability, 161 direct builtins, 15 higher-order forms and a 25-function prelude, JSON & CSV, dates, hashing, a persistent store. Broad, not a kitchen sink.

Local GUI cockpits

serve({routes}) runs a token-gated local htmx server in a clamped browser app window; drang build --web --gui packs tool, assets, and runtime into one double-clickable exe.

Data you can trust

Modules are private-by-default (export names the API, exports deeply frozen), and validate checks map shapes at boundaries — every mismatch reported with its path.

Install

drang is Windows-only (Windows 11 23H2+ / Server 2025+). Grab the prebuilt .exe from the latest release, or build from source with Go:

go build -o drang ./cmd/drang