ICU-22939 MF2: Re-implement resolved values and implement bidi default 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.
Functions implementing the bidi strategy are added to common/ so that
they can potentially be reused for areas other than MessageFormat.

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).
44 files changed
tree: 5c9b3ca8a55cff20bc6dd8b48b6d27f2d989cf28
  1. .gemini/
  2. .github/
  3. .mvn/
  4. docs/
  5. icu4c/
  6. icu4j/
  7. testdata/
  8. tools/
  9. vendor/
  10. .bazeliskrc
  11. .bazelrc
  12. .cpyskip.txt
  13. .gitattributes
  14. .gitignore
  15. CONTRIBUTING.md
  16. errorprone.cfg
  17. KEYS
  18. LICENSE
  19. pom.xml
  20. README.md
  21. SECURITY.md
  22. WORKSPACE
README.md

International Components for Unicode

This is the repository for the International Components for Unicode. The ICU project is under the stewardship of The Unicode Consortium.

ICU Logo

Build Status (main branch)

BuildStatus
GitHub Actions (ICU4C)GHA ICU4C
GitHub Actions (ICU4J)GHA ICU4J
GitHub Actions (Valgrind)GHA CI Valgrind
Exhaustive TestsExhaustive Tests for ICU
FuzzingFuzzing Status
OpenSSF ScorecardOpenSSF Scorecard

Quality Reports (main branch)

Subdirectories and Information

Copyright & Licenses

Copyright © 2016 and later: Unicode, Inc. Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the United States and other countries. License & terms of use: https://www.unicode.org/copyright.html

A CLA is required to contribute to this project - please refer to the CONTRIBUTING.md file (or start a Pull Request) for more information.

The contents of this repository are governed by the Unicode Terms of Use and are released under LICENSE.