2.2 KiB
1.0.0-beta.9 Collection Alias Unification And Generic Reservation
Status: release scope for 1.0.0-beta.9.
1.0.0-beta.9 is a Slovo stdlib/docs slice on top of the beta.8 concrete
alias foundation. It applies transparent aliases to the repeated concrete
collection and value-family facades without changing the public helper surface
or executable semantics.
Source Surface
Current source-authored facades may declare module-local aliases such as:
(type VecBool (vec bool))
(type OptionString (option string))
(type ResultU64 (result u64 i32))
The aliases are used only inside their defining module. Exported helper names and helper meanings remain concrete, and importers observe normalized concrete types.
Applied Scope
lib/std/vec_i32.slolib/std/vec_i64.slolib/std/vec_f64.slolib/std/vec_bool.slolib/std/vec_string.slolib/std/option.slolib/std/result.slo
The vector facades use one local alias for the concrete vector family. The option and result facades use local aliases for the current concrete option and result families.
Contract
- Current vectors remain concrete families:
(vec i32),(vec i64),(vec f64),(vec bool), and(vec string). - Current options and results remain concrete families over the explicitly promoted payload shapes.
- Aliases are transparent, module-local, and erased before typed-core lowering, backend layout, ABI decisions, runtime behavior, and cross-module signatures.
- Public helper names, exports, constructors, runtime calls, and behavior are preserved.
- Public API documentation must not turn these local aliases into imported public type names; the semantic contract is the normalized concrete target type.
Deferrals
This release does not add executable generics, generic aliases, parameterized aliases, maps, sets, traits, inference, monomorphization, iterators, new compiler-known runtime names, stable ABI/layout promises, or a stable standard-library API freeze.
The generic/map/set direction is reserved through diagnostics and design language only. Future work must define syntax, typed-core representation, lowering, conformance gates, compatibility policy, and stdlib migration rules before any executable generic collection surface is promoted.