Skip to content

stergiotis/boxer

Repository files navigation

boxer Go Reference Go Report Card

Go packages helping to win by K.O. when fighting cross-cutting concerns.

Goals

  • 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.

Installation

go get github.com/stergiotis/boxer

Maturity

Alpha, incomplete test coverage, unstable, API may still change heavily.

Glossary

Modules

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.

Terms

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).

Style Conventions

File Extensions

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.

Folders

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.

Contributing

Currently, no third-party contributions are accepted.

AI Codegen Declaration

All code and documentation in this repository is human generated, boxer does not contain LLM generated code or documentation.

License

The MIT License (MIT) 2023-2025 - Panos Stergiotis. See LICENSE for the full license text.

About

Go packages helping to win by K.O. when fighting cross-cutting concerns.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •