The standard library (Chapter 9) should include:
Set<T> — an unordered collection of unique elements. Requires Eq and Hash abilities on T. Supports union, intersection, difference.
Map<K, V> — a key-value mapping. Requires Eq and Hash abilities on K. Already implicitly needed by the JSON ADT (JObject(Map<String, Json>)).
Decimal — exact decimal arithmetic for financial and precision-sensitive applications. Software implementation in the runtime (WebAssembly has no native decimal floating-point).
These types depend on the abilities system for their type constraints. Set and Map are standard library ADTs, not primitives — keeping the core language small while providing the collections that practical programs need.
Spec reference: spec/00-introduction.md § 0.8 "Standard Library Collections"
The standard library (Chapter 9) should include:
Set<T>— an unordered collection of unique elements. RequiresEqandHashabilities onT. Supports union, intersection, difference.Map<K, V>— a key-value mapping. RequiresEqandHashabilities onK. Already implicitly needed by the JSON ADT (JObject(Map<String, Json>)).Decimal— exact decimal arithmetic for financial and precision-sensitive applications. Software implementation in the runtime (WebAssembly has no native decimal floating-point).These types depend on the abilities system for their type constraints.
SetandMapare standard library ADTs, not primitives — keeping the core language small while providing the collections that practical programs need.Spec reference:
spec/00-introduction.md§ 0.8 "Standard Library Collections"