Skip to content

FAQ

A statically typed, high-performance programming language focused on data manipulation, simulation, and safe metaprogramming.

No. The core language is general-purpose. Domain behavior should live in modules/extensions.

No. Use Option<T> and Result<T>.

Does Shape support strict typing without excessive annotations?

Section titled “Does Shape support strict typing without excessive annotations?”

Yes. Inference is strong, and you can add explicit annotations at API boundaries.

Through [[extensions]] and capability contracts loaded from .so modules.

See Extensions.

  • Project: shape.lock
  • Standalone script: <script>.lock

Both lock dependencies and compile-time artifacts.

Where should I start with metaprogramming?

Section titled “Where should I start with metaprogramming?”

Start with @annotation and comptime { ... }. Traits are documented separately and are part of the type system.