Skip to content

Releases: DNKpp/gimo

v0.1.0

23 Dec 12:22

Choose a tag to compare

This is the first release of gimo. It sets up the core framework and provides a set of algorithms that mirror the standard monadic interfaces of std::optional and std::expected.

Algorithms

The following operations can be used as steps in a pipeline:

  • BasicAlgorithm: Basic algorithm building block.
  • and_then: Standard monadic bind.
  • or_else: For error recovery or fallbacks.
  • transform: Maps the underlying value.
  • transform_error: Maps the error state (for expected-like types).

Utility

  • applicable_to: Concept for constraining a nullable on the specified algorithm.
  • processable_by: Concept for constraining a nullable on the specified pipeline.
  • Pipeline: Generic pipeline type.

Extensions

I've included out-of-the-box support for several common types via gimo_ext:

  • Standard Library: std::optional and std::expected.
  • Smart Pointers: std::unique_ptr and std::shared_ptr.
  • Language Built-ins: Raw pointers (handled as nullables).

Full Changelog: https://github.com/DNKpp/gimo/commits/v0.1.0