Go packages helping to win by K.O. when fighting cross-cutting concerns.
- Apply low allocation coding practices;
- use data oriented programming whenever appropriate;
- introduce as little runtime dependencies as possible;
- provide a productive, pleasant and low churn developer experience,
- have predictable performance;
- provide production grade error reporting.
go get github.com/stergiotis/boxer
Alpha, incomplete test coverage, unstable, API may still change heavily.
- leeway
- A code-driven entity-attribute-value data model.
- imzero
- A CGO-free immediate mode GUI library based on DearImGui. Client applications are available in imzero_client_cpp.
- fffi
- Frame oriented Foreign Function Interface
- curlier
- Go code mimicking cUrl.
- eb
- Structured error building.
- eh
- Error handling.
- e2e
- End-to-end.
- ea
- Means input-output (german abbreviation to distinguish from core packages).
- fec
- Forward error correction.
- inst
- Instance (similar to self, this).
- vcs
- Version control system (e.g. git, svn, hg, perforce).
Boxer uses chained file extension (e.g. file.docx.pdf.txt
):
- `.out.<ext>.`
- Generated source code checked in repository e.g. `myfile.out.go`
- `.gen.<ext>.`
- Source code generated in regular build process (i.e. part of binary distribution but not source distribution): e.g. `myfile.gen.go`
- `.idl.go`
- A (Framed) Foreign Function Interface (FFI) Interface Defintion Language (IDL) file. A subset of go language.
The path of files gets more specific with depth.
Example: ./fec/ea/golay24
fec
means Forward-Error-Correction. A well known technical term (see e.g. Wikipedia).
ea
means Eingabe-Ausgabe (engl. Input-Output). German is used to not confuse the package with go stdlib's io
.
golay24
is the name of a very specific algorithm of forward error correction.
Ideally the package name (innermost folder) is discriminative enough to facilitate autocompletion in IDEs.
Currently, no third-party contributions are accepted.
All code and documentation in this repository is human generated, boxer does not contain LLM generated code or documentation.
The MIT License (MIT) 2023-2025 - Panos Stergiotis. See LICENSE for the full license text.