Reference¶
The Reference section is the canonical, stable specification of the Incan Programming Language. It provides precise definitions for grammar, types, semantics, standard library APIs, and runtime behavior.
Use this section when:
- You need exact syntax or signature details
- You want behavior clarified without examples
- You’re verifying compatibility across versions
For step-by-step learning and patterns, see Tutorials and the How-to guides. For practical examples, see the repo’s examples/ directory.
Table of contents¶
- Language reference (generated): compiler-generated tables (keywords, operators, builtins, etc.)
- Feature inventory (generated): generated current capability atlas for syntax, stdlib, interop, testing, async, tooling, and library surfaces
- Functions and calls: function signatures, ordinary call binding, rest parameters, and call-site unpacking
- Computed properties: field-like derived members, trait requirements, and
propertyvsdef - Newtypes: nominal wrappers, validated construction, implicit coercion sites, and constraints
- Generators:
Generator[T],yield, generator expressions, and helper method signatures - Symbol aliases: top-level aliases, same-type method aliases, exports, and diagnostics
- Callable presets: RHS partial declarations, projected defaults, method presets, and diagnostics
- Glossary: canonical terminology used across the docs
- Imports and modules: import syntax, module paths, and module resolution rules
- Static storage:
static,pub static, initialization rules, and live shared module state - std.testing: assertions, markers, fixtures, and parametrization
- Standard library reference: signatures for
std.*modules (std.math,std.async,std.collections, ...) - Numeric semantics: numeric operators, promotion rules, and edge cases
- Strings: string types, formatting, and string operations
- Union types: anonymous closed unions,
A | B, narrowing, andmatchtype patterns - Derives & traits: derives, trait authoring, method decorators, and generic instance methods
- Derives:
- String representation:
Debug,Display - Comparison:
Eq,Ord,Hash - Copying/default:
Clone,Copy,Default - Serialization:
Serialize,Deserialize - Validation:
Validate - Custom behavior: overriding derived behavior
- String representation: