Conversation
Introduce a minimal type.hpp scaffold under patterns/ as the foundation of the Type Layer. This file will later define is_type<T>, holds_type<T>, and related type-based patterns built on `pattern_tag`.
…ull API docs This update brings a major redesign to Patternia's Pattern Layer: - Introduced `pattern_base` (CRTP) as the unified base for all patterns, providing consistent `match()` and `bind()` interfaces. - Reassigned responsibilities of `pattern_tag` (now purely a marker for pattern-like types, no longer a base class). - Fully refactored Value, Relational, and Predicate patterns to inherit from `pattern_base` and to implement the new `match()`-based API. - Removed legacy `operator()`-based matching; all patterns now standardize on `.match(subject)`. - Added comprehensive Doxygen comments across pattern modules and `match_builder`, preparing for full API documentation generation. - Reorganized project structure to clearly separate core, dsl, and patterns. - Updated public headers and DSL implementation to align with the new Pattern Layer architecture. This commit represents a foundational cleanup and modernization pass, making the Pattern Layer more uniform, extensible, and friendly for future Type Layer development.
sentomk
added a commit
that referenced
this pull request
Mar 11, 2026
* feat(patterns): add minimal type.hpp scaffold for type matching layer Introduce a minimal type.hpp scaffold under patterns/ as the foundation of the Type Layer. This file will later define is_type<T>, holds_type<T>, and related type-based patterns built on `pattern_tag`. * feat(patterns): introduce pattern_base, refactor pattern layer, add full API docs This update brings a major redesign to Patternia's Pattern Layer: - Introduced `pattern_base` (CRTP) as the unified base for all patterns, providing consistent `match()` and `bind()` interfaces. - Reassigned responsibilities of `pattern_tag` (now purely a marker for pattern-like types, no longer a base class). - Fully refactored Value, Relational, and Predicate patterns to inherit from `pattern_base` and to implement the new `match()`-based API. - Removed legacy `operator()`-based matching; all patterns now standardize on `.match(subject)`. - Added comprehensive Doxygen comments across pattern modules and `match_builder`, preparing for full API documentation generation. - Reorganized project structure to clearly separate core, dsl, and patterns. - Updated public headers and DSL implementation to align with the new Pattern Layer architecture. This commit represents a foundational cleanup and modernization pass, making the Pattern Layer more uniform, extensible, and friendly for future Type Layer development. * ci: update
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.