Goals:
- Avoid Rust's Option/Either manual error handling strategy.
- Make exceptions cheaper.
- Avoid error translation between Nim libraries by construction. The new vocabulary type
ErrorCode
is what should be used. Wrappers should translate errors toErrorCode
. - Make the error
out of memory
easier to handle. - Resolve once and for all the "error codes vs exceptions" choice.