Skip to content

Stdlib usability stabilization #1033

@emil14

Description

@emil14

Goal

Create a single P0 tracking issue for all stdlib tasks required to make Neva consistently usable before broader adoption.

Why this tracker exists

These tasks are highly coupled (API shape, naming, stream semantics, sync/flow ergonomics, package boundaries). Progress should be tracked in one place to avoid context loss across separate implementation windows and autonomous-agent runs.

Baseline decisions already made (current context)

During the latest stdlib cleanup pass (see #1031), we fixed part of the naming/API inconsistencies and synced docs.

  • Port naming baseline: res is the primary output, err is failure output, data is input-only generic placeholder (do not use data as outport name).
  • Stream iteration baseline: keep streams.ForEach as the canonical side-effect iterator; duplicate builtin stream-loop API was removed.
  • Documentation baseline: docs/style_guide.md and docs/qna.md were updated and should be treated as current source of truth for naming/idiomatic usage.

These decisions are considered accepted unless explicitly superseded in a dedicated issue/PR.

Recommended start context for autonomous work

Do not duplicate long context from repository docs. Start by reading:

  • AGENTS.md
  • CONTRIBUTING.md
  • ARCHITECTURE.md
  • docs/style_guide.md
  • docs/qna.md

Then inspect relevant code in:

  • std/
  • internal/runtime/funcs/
  • examples/ and e2e/

Sub-issues (linked scope)

Exit criteria for this tracker

  • stdlib package taxonomy is explicit and documented (core/prelude/domain or approved alternative);
  • stream/sync/flow APIs are coherent and documented;
  • major naming/API inconsistencies resolved;
  • examples/e2e/docs aligned with final API decisions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    largeWeeksp1We can live without it but it's very importanttaskMake it work

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions