Skip to main content
Pulse.Console is the runtime service for writing to standard output and standard error. It is not a language keyword and not an ambient global. To use it, import the Pulse.Console module explicitly and call one of the four write functions.

Import

Surface

The v0.1 Pulse console surface has four functions across two streams.

Pulse.Console.out.write

Writes a value to standard output without appending a newline.
Parameter

Pulse.Console.out.writeLine

Writes a value to standard output and appends a newline.
Parameter

Pulse.Console.error.write

Writes a value to standard error without appending a newline.

Pulse.Console.error.writeLine

Writes a value to standard error and appends a newline.

Supported display values

In v0.1, the console functions accept types that have a defined text representation, including Text and the built-in scalar types. Custom display formatting for user-defined types is out of scope for the console surface itself; convert to Text before writing.

Design principles

Explicit

No hidden print. Every write goes through Pulse.Console.

Streams separated

stdout and stderr are distinct services. Kairo never silently reroutes based on content.

Newline is a choice

write and writeLine are separate calls. No implicit trailing newline unless you ask for one.

Contract-versioned

Console availability is guaranteed by the Pulse v0.1 runtime contract.
Console is available in the standard process-hosted application model defined by Stage 6. Alternative host models (server, worker, test harness) that alter stream availability are deferred.

Thread safety

The console service itself may be called from any execution boundary, but individual writes are not synchronized with each other in v0.1. Applications that write from multiple concurrent contexts should coordinate their own ordering.

Pulse Runtime reference

Runtime contract, exit codes, and lifecycle.

Standard library

Where Pulse runtime services fit in the library layering.