Skip to content

Prepare and restructure interpreter implementation - #1021

Open
snazy wants to merge 1 commit into
projectnessie:mainfrom
snazy:prep-int-impl
Open

snazy wants to merge 1 commit into
projectnessie:mainfrom
snazy:prep-int-impl

Conversation

@snazy

@snazy snazy commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Introduce allocation-free activation lookup and shared numeric comparison semantics. Extract established planner, dispatcher, activation, and evaluation implementations from public interfaces, update implementation references, and isolate supplier memoization and partial-pattern arrays in activation-owned state.

This intentionally breaks source and binary compatibility for concrete interpreter and activation implementation classes previously exposed as public interface members, including Interpretable.EvalOr. These classes move to package-private implementations without compatibility shims.

The supported evaluator interfaces, factories, and inspection contracts - including InterpretableConst, InterpretableAttribute, and InterpretableCall - remain public. Integrations should use those contracts rather than depend on concrete implementation types.

@snazy
snazy requested a review from XN137 October 28, 2026 10:31
Introduce allocation-free activation lookup and shared numeric comparison semantics. Extract established planner, dispatcher, activation, and evaluation implementations from public interfaces, update implementation references, and isolate supplier memoization and partial-pattern arrays in activation-owned state.

This intentionally breaks source and binary compatibility for concrete interpreter and activation implementation classes previously exposed as public interface members, including `Interpretable.EvalOr`. These classes move to package-private implementations without compatibility shims.

The supported evaluator interfaces, factories, and inspection contracts - including `InterpretableConst`, `InterpretableAttribute`, and `InterpretableCall` - remain public. Integrations should use those contracts rather than depend on concrete implementation types.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant