Skip to content

Document supported targets and host runtime behavior #448

Description

@lukewilliamboswell

Context

The implementation has a clear five-target matrix in platform/main.roc:84-90 and CI now builds and runs:

  • x64 macOS;
  • arm64 macOS;
  • x64 Linux musl;
  • arm64 Linux musl;
  • x64 Windows.

The public README does not present this support matrix. CONTRIBUTING.md:60 is also stale: it says arm64 Linux is compile-only, while .github/workflows/ci.yml:130-131 now runs it on an arm64 runner.

Several host behaviors are important for users but currently require reading Rust/Cargo source, including:

  • HTTPS uses bundled WebPKI roots rather than the OS trust store;
  • the current HTTP implementation enables HTTP/1;
  • TCP operations currently have no timeout controls;
  • SQLite connections are cached by path;
  • Windows support is x64 only.

There are also small documentation typos such as “subsitition” in Cmd.roc and “bevahiour” in Tty.roc/Stdin.roc.

Suggested direction

Add a concise support/runtime section to README or contributor-facing documentation and ensure generated module docs link to it where useful. Keep it factual and update it as the networking/SQLite issues from the release audit are resolved.

Acceptance criteria

  • README documents all supported OS/architecture targets.
  • The stale arm64 Linux compile-only statement is corrected.
  • TLS trust-store and HTTP protocol behavior are documented.
  • Important TCP and SQLite lifecycle/timeout semantics are documented according to their final implementations.
  • Known platform-specific limitations, including Windows architecture support, are listed.
  • Obvious documentation typos found during the audit are corrected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions