2.8 KiB
1.0.0-beta.6 Networking Foundation Target
Status: released as 1.0.0-beta.6 on 2026-05-22.
1.0.0-beta.6 targets a deliberately narrow networking foundation after the
resource-handle and host-error policy introduced in 1.0.0-beta.2. The goal
is blocking loopback TCP only, enough for local client/server fixtures and
small request/response examples without committing to a full networking stack.
Slovo Source Surface
The staged source facade is lib/std/net.slo, importable explicitly as
std.net.
Exported helpers:
tcp_connect_loopback_result : (i32) -> (result i32 i32)tcp_listen_loopback_result : (i32) -> (result i32 i32)tcp_bound_port_result : (i32) -> (result i32 i32)tcp_accept_result : (i32) -> (result i32 i32)tcp_read_all_result : (i32) -> (result string i32)tcp_write_text_result : (i32, string) -> (result i32 i32)tcp_close_result : (i32) -> (result i32 i32)tcp_write_text_ok : (i32, string) -> booltcp_close_ok : (i32) -> bool
The i32 values returned by successful connect/listen/accept operations are
opaque process-local handles. They are not host file descriptors, stable ABI
values, transferable capabilities, or ownership-checked affine resources.
Runtime Calls
The facade wraps these compiler-known runtime calls:
std.net.tcp_connect_loopback_result(port i32) -> (result i32 i32)std.net.tcp_listen_loopback_result(port i32) -> (result i32 i32)std.net.tcp_bound_port_result(handle i32) -> (result i32 i32)std.net.tcp_accept_result(listener i32) -> (result i32 i32)std.net.tcp_read_all_result(handle i32) -> (result string i32)std.net.tcp_write_text_result(handle i32, text string) -> (result i32 i32)std.net.tcp_close_result(handle i32) -> (result i32 i32)
Ordinary host failures return err 1. Successful status-returning operations
return ok 0. Successful handle-returning operations return ok handle.
Successful tcp_bound_port_result returns the bound loopback TCP port.
Fixtures
examples/projects/std-import-net/exercises explicitstd.netsource import.examples/projects/std-layout-local-net/mirrors the facade as a local module fixture and keeps the source-search contract explicit.
The source-side fixtures use invalid ports and handles for deterministic result-shape checks. Positive loopback client/server behavior is covered by the matching compiler/runtime tests when the local sandbox allows loopback sockets.
Deferrals
This scope does not add DNS, TLS, UDP, Unix-domain sockets, non-loopback binding, async IO, event loops, readiness polling, timeouts, buffering policy, HTTP frameworks, socket options beyond the implementation minimum, platform-specific error codes, rich host-error ADTs, stable runtime helper symbols, stable ABI/layout/ownership guarantees, automatic cleanup, or a stable standard-library API freeze.