Skip to content

vargalabs/rlp

Repository files navigation

CI codecov MIT License DOI GitHub release Documentation

Design Principles

RLP is built for environments where correctness is not a feature — it is a constraint. Every transformation is deterministic. Every byte has a reason to exist. There are no hidden allocations, no implicit conversions, and no undefined behavior hiding behind convenience. The library favors structure over heuristics:

  • types are mapped explicitly, not guessed
  • encoding is canonical, not context-dependent
  • failures are surfaced, not deferred

Performance follows from this: $\text{throughput} \approx \frac{\text{useful work}}{\text{branching} + \text{ambiguity} + \text{copies}}$ So the design removes branching, ambiguity, and unnecessary copies. This is not a framework. It is a small, predictable layer between typed data and bytes — intended for systems where reproducibility, auditability, and latency matter more than abstraction. If something looks simple, it is because the complexity was removed, not hidden.

Build Matrix

OS / Compiler GCC 13 GCC 14 GCC 15 Clang 17 Clang 18 Clang 19 Clang 20
Ubuntu 22.04 gcc13 gcc14 gcc15 clang17 clang18 clang19 clang20
Ubuntu 24.04 gcc13 gcc14 gcc15 clang17 clang18 clang19 clang20

Development

cmake -DCMAKE_BUILD_TYPE=Debug -DRLP_BUILD_TESTS=ON -S . -B build # configure (debug + tests)
cmake --build build --parallel                                    # build everything
cd build && ctest --output-on-failure                             # run tests
cmake --build build --target docs_build                           # install mkdocs locally
cmake --build build --target docs_serve                           # run webserver @ http://127.0.0.1:9000/

Installation

sudo apt install build-essential cmake
cmake -DCMAKE_BUILD_TYPE=Release -S . -B build
cmake --build build --parallel
sudo cmake --install build

Usage

After installation, RLP is available as a standard CMake package:

find_package(rlp REQUIRED)
add_executable(app main.cpp)
target_link_libraries(app PRIVATE rlp::rlp)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors