- All native Go library.
- Minimize use of external libraries (allowed packages: golang.org/x, github.com/golang).
- Separate interface from implementation.
- Safer code.
- Ease of development.
This library is intended to use a desktop or command-line applications, not on a server or IoT/mobile. The library may be optimized for that. For example, a target memory footprint may not exceed 1-2 GiB for a single instance.
- Performance (this is often trade-off to ease-of-development)
- Minimal footprints
- Compatibility (because this project is experimental)
- Windows 10 or above (x64)
- Darwin (macOS) (x64, arm64)
- Linux (x64)
- All submodules should start with the prefix
e
. For example, if a sub-module is for logging, the name should beelog
.