Skip to content

Internal documentation — Work in progress

This page has not been confirmed as accurate or approved for publication. Current documentation version: 0.1.0-internal.1.

Goals and non-goals

Goals

Settled design goals:

  • make geometry, astrodynamics, numerical work, physics, and rendering natural;
  • provide strong static typing with limited lossless implicit conversion;
  • favor interface-based composition over deep inheritance hierarchies;
  • produce native programs initially by translating validated Sagan to C++;
  • target Windows, Linux, and macOS;
  • make mutation visible in APIs through naming conventions; and
  • pursue repeatable simulation results across supported platforms.

Initial non-goals

  • parallel execution;
  • bitwise operators;
  • binary, octal, hexadecimal, numeric-suffix, or unit-suffix literals;
  • encoding physical units or coordinate frames in the initial type system;
  • requiring physics or rendering in lightweight programs;
  • C or C++ interoperability in the first compiler; and
  • optimizing before the parser, semantics, and runtime contracts are established.

Boundaries still moving

Concrete core-library APIs, package resolution, type inference, generics, runtime representation, reference-count cycle handling, optimization, ABI details, and deterministic numeric guarantees remain unsettled.