/
nv-lang
/
nova
Обзор
Документация
Войти
/
nv-lang
/
nova
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
std/nova.toml
77 строк
4 KB
Evgeniy Golovin
manifests: English, enforced by a guard, and the generator fixed too
10 авг 2026, 03:42
10 авг 2026, 03:42
3600b1c
Код
Авторство
О чём код?
# nova.toml — Nova standard library. # # A workspace member of the root `../nova.toml`. Holds the Nova standard # library, grouped by semantic domain (see the repository-layout section of D78 # in spec/decisions/07-modules.md). # # **Plan 91 phase 7.1 (2026-05-27):** for the 0.1 release the stdlib is split into # MVP (compiles → ships) and `_experimental/` (legacy/aspirational code, not # part of the 0.1 release contract). # # MVP for 0.1 (the shipping set): # prelude/ Option/Result/protocols/effects/errors (auto-imported) # runtime/ char/fibers/gc/math/numeric/buffers/string/sync (auto-gen stubs) # testing/ handlers/property (test harness) # collections/ Vec ([]T ext methods), HashMap, Set, Range # encoding/ JSON, Base64, CSV, Hex, INI, TOML, URL # time/ Duration # net/ TcpListener, TcpStream, UdpSocket, SocketAddr (Plan 83.12) # concurrency/ Cancellation, Timer (Plan 83 fiber-api) # bench Plan 57 benchmark DSL # # _experimental/ (not part of 0.1; waits for Plan 18 / 0.2+ or for the # sub-plans of Plan 91 phases 2-4 that promote items one at a time): # collections/ BloomFilter, Deque, LinkedList, LRU, PriorityQueue, Queue # crypto/ InsecureDemoKdf (a demo KDF, NOT a real bcrypt/argon2 — # security de-risk of Plan 191; see std/_experimental/STATUS.md) # identifiers/ UUID, ULID, Snowflake, UuidNamespace # checksums/ CRC32, FNV # time/ Cron (FAIL: D52 §2) # path/ Path, Glob (Plan 18 → 0.2+) # math/ Complex (FAIL: D52 §2), Statistics # text/ Regex (FAIL: D52 §2), Markdown, Diff # data/ SemVer, SemVerRange, SQL # concurrency/ RateLimiter, Retry (FAIL: unused prefix typevar) # # A leading `_` in a directory name means auto-skip from `nova check` (see # should_skip_path_full in nova-cli). That is what makes `nova check std/` # report 0 FAIL for the shipping CI gate without passing a `--skip` flag. # # Module path is 1:1 with the file path FROM `src/`: the file # `std/src/encoding/base64.nv` declares `module std.encoding.base64` (or # `encoding.base64` in the sub-dir form). The folder name `std/` maps to the # module prefix `std.` with no special-casing (see D78 "Path / module # enforcement"); the word `src` is NOT part of the module path. [package] name = "std" version = "0.1.0" nova-version = "0.5" license = "MIT OR Apache-2.0" description = "The Nova standard library" repository = "https://github.com/nv-lang/nova.git" # Plan 195 (2026-07-13): std moved to the canonical `src/` layout, like every # other package (the Rust/npm/Python/Zig pattern; nova-tls already lived that # way). Sources sit in `std/src/<domain>/`; the package root (`nova.toml`, # `README`, `native/`) stays flat. Module paths resolve FROM `src/` and do not # include the word `src` (D78). [lib] src = "src" # Plan 71 / D127: opt-in strict enforcement of the `public-missing-stability` # rule (Plan 45 §11.5 #7). Severity becomes `error`, which fails # `nova doc --check` (exit 1) and the CI gate for every exported item lacking a # `#stable`/`#unstable`/`#experimental` annotation. The stdlib must state a # stability tier on every public API element (semver commitments). User crates # without this flag get a `warning` instead: visible on stderr, not blocking. enforce-stability = true # Plan 193 phase 2 moved std/tls into its own repository `nova-tls` (a sibling of # the monorepo, see docs/plans/193-nova-tls-repo.md); std/http/transport/real.nv # pulled TLS in through `[dependencies] tls` — the standard library's only # external dependency. Plan 203 (2026-07-13) then moved std/http itself out into # `nova-http` (see docs/plans/203-http-out-of-std.md — the motive: bare http # without tls is barely usable, the pair is inseparable, and no ecosystem keeps # "http in std, tls outside"). With http gone, nothing needs the `tls` # dependency any more — std is self-contained again (0 external deps).