Reference

std/prelude

The prelude: what is in scope in every file of a project, unless its project.trb names another prelude.

It declares nothing of its own. Everything it names lives in a package that can also be imported directly, and this file is the decision about what "one always needs" - the pure things: values, text, numbers, collections, pipelines, encoding, quotations, tasks, printing, JSON, the two time values, Path and Uri. The stage factories (mapping, filtering, ...) are in as well; std/linear is not, and a program that computes with vectors imports it.

What a program can touch is not in here. std/fs, std/os, std/process, std/io, std/http, std/sandbox and Clock stay explicit imports, because there the import is the statement: "this file touches files" is readable at the top of the file, a sandbox is defined as "the prelude and nothing else", and a name that exists on one target and not on another would be a worse error than a missing import.

Modules

Everything