ICU-22939 Function composition and default bidi strategy by catamorphism · Pull Request #3536 · unicode-org/icu · GitHub | Latest TMZ Celebrity News & Gossip | Watch TMZ Live
Skip to content

ICU-22939 Function composition and default bidi strategy #3536

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

catamorphism
Copy link
Contributor

@catamorphism catamorphism commented Jun 28, 2025

This PR does several things:

  1. Implements the changes to resolved values necessary to implement function composition, as described in an approved design doc.
  2. Implements lazy/call-by-need evaluation. The previous implementation used lazy/call-by-name evaluation. Call-by-need is necessary because custom functions can potentially depend on external state and thus may return different values on different calls (for example, a function that returns the system time).
  3. Implements the default bidi strategy as described in another approved design doc. The changes are related to the changes to resolved values, which is why these changes appear in a single PR.
  4. Updates spec tests to the current version of the message-format-wg repo, with the exception of currency and math tests (these functions are not yet implemented).

Note 1: There are a few differences between the code and two design docs, which I detailed in an email to the icu-design list. This PR is contingent on those changes being approved, but since there's a lot here to review, I wanted to go ahead and make the PR available for review.

Note 2: I will be on leave from July 2-July 14 and won't see review comments during that time. I'll reply to comments when I return.

Checklist

  • Required: Issue filed: ICU-22939
  • Required: The PR title must be prefixed with a JIRA Issue number. Example: "ICU-1234 Fix xyz"
  • Required: Each commit message must be prefixed with a JIRA Issue number. Example: "ICU-1234 Fix xyz"
  • Issue accepted (done by Technical Committee after discussion)
  • Tests included, if applicable
  • API docs and/or User Guide docs changed or added, if applicable

@catamorphism catamorphism force-pushed the bidi-default-strategy branch from 7373296 to 24c64c9 Compare July 1, 2025 01:12
@jira-pull-request-webhook
Copy link

Hooray! The files in the branch are the same across the force-push. 😃

~ Your Friendly Jira-GitHub PR Checker Bot

…t strategy

Implement the changes to resolved values necessary to implement function
composition.

Implement lazy/call-by-need evaluation (instead of lazy-call-by-name
evaluation).

Implement the default bidi strategy and APIs for controlling it.

Update spec tests to those from the current version of the
message-format-wg repo, except for currency and math tests (these
functions are not yet implemented).
@catamorphism catamorphism force-pushed the bidi-default-strategy branch from 24c64c9 to b34d0a5 Compare July 1, 2025 01:34
@jira-pull-request-webhook
Copy link

Notice: the branch changed across the force-push!

  • icu4c/source/i18n/messageformat2_function_registry.cpp is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@catamorphism catamorphism changed the title ICU-22939 DRAFT: Function composition and default bidi strategy ICU-22939 Function composition and default bidi strategy Jul 1, 2025
@catamorphism catamorphism marked this pull request as ready for review July 1, 2025 20:29
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

TMZ Celebrity News – Breaking Stories, Videos & Gossip

Looking for the latest TMZ celebrity news? You've come to the right place. From shocking Hollywood scandals to exclusive videos, TMZ delivers it all in real time.

Whether it’s a red carpet slip-up, a viral paparazzi moment, or a legal drama involving your favorite stars, TMZ news is always first to break the story. Stay in the loop with daily updates, insider tips, and jaw-dropping photos.

🎥 Watch TMZ Live

TMZ Live brings you daily celebrity news and interviews straight from the TMZ newsroom. Don’t miss a beat—watch now and see what’s trending in Hollywood.