Skip to content

Patternia v0.6.1 Release Note

Release Date: December 20, 2025 Version: 0.6.1


Overview

Patternia v0.6.1 focused on evaluation semantics, forwarding behavior, and API clarity.

This page has been normalized to the current API surface. The original release note described the removed chained termination flow and the removed compact case-pack form.


Highlights

Value Category Preservation

match() continued to preserve the subject category needed for binding and handler invocation.

using namespace ptn;

int classify(std::vector<int> &&values) {
  return match(std::move(values)) | on(
    $() >> [](std::vector<int> &&xs) {
      return xs.empty() ? 0 : 1;
    },
    _ >> 0
  );
}

Fallback Discipline

This release period clarified a rule that still applies after the builder cleanup: total matches should make the fallback explicit in the case list.

using namespace ptn;

const char *day_name(int day) {
  return match(day) | on(
    lit(1) >> "Monday",
    lit(2) >> "Tuesday",
    _ >> "invalid"
  );
}

Diagnostics Direction

The project kept moving toward earlier validation and clearer compile-time feedback for malformed matches.


What Still Matters

  • match(subject) remains the single public entry point.
  • A final _ case is the current total-match form.
  • Diagnostics should steer users toward a single obvious spelling.

Historical Note

The original v0.6.1 page covered removed termination helpers and the removed compact direct-entry form. Those APIs have been removed from the current repository. The underlying semantics now appear only through pipeline matching.