Karl logo karl docs

Karl Documentation

Karl is a language for CLI tooling, infrastructure automation, and process orchestration. The current direction centers on process handles + stream pipelines as first-class building blocks for DevOps workloads.

Current focus: process + stream runtime (PR #42 direction)

Specs

Normative semantics: grammar, evaluation model, task/channel behavior, stream pipeline execution, process lifecycle, and error propagation.

Open /docs/specs

Std

Exhaustive built-in reference with signatures, defaults, runtime constraints, and examples for less intuitive APIs.

Open /docs/std

Idiomatic

Concise Karl patterns for real automation: streams, subprocesses, recover boundaries, signal-aware loops, and SQL integrations.

Open /docs/idiomatic

Start Here

// browser playground
https://karl-lang.org/bench/

// process + streams examples
karl run examples/features/streams/kubernetes_logs_error_channel.k

// docs
https://karl-lang.org/docs/

Why this direction

  • Process handles (proc/run) make host tooling composable from Karl.
  • Stream pipelines (|) provide backpressure-aware dataflow for logs/events/text.
  • Task/channel primitives stay available for explicit concurrency topologies.
  • Recover blocks (? { ... }) keep boundary failure handling explicit.
  • Real-world validation: Vigil reimplementation in Karl.