Support for Rune defined functions#184
Merged
Merged
Conversation
… reusing virtual environments, and enable conditional CDM builds.
…nd improve CDM development environment setup scripts.
…to be updated and 3 Python Unit Tests failing
…tion and tests, and refactor JUnit tests.
…d clean up generators.
…owed by all rebuilds
…y use of Draft objects
…dd symbol shadowing for lambda parameters. Refactor expression generation to maintain its own levels
… update expression generators to utilize it, and refactor related tests.
… variable initialization and enhancing `add` operation handling for many-cardinality attributes and nested paths.
…s with expressions, add a test for `add` operations with aliases, and update the Python runtime setup.
…ine length warnings in test files.
…y method, and track native function names.
…hat needs to be updated once the runtime changes
…-prefixed packages - fix for the native function registration and invocation when installed in a prefixed package
…pment overrides have not been set
Contributor
|
One general comment about the namespace prefixing for python. Prefixing CDM namespaces with FINOS makes sense, however for the rune-fpml project, it's not on FINOS and is owned by ISDA, so perhaps that should be prefixed with ISDA (or something). |
hugohills-regnosys
approved these changes
Apr 21, 2026
Resolves all merge conflicts taking the feature branch as the source of truth for all Java source and test files. Updates rosetta.dsl.version to 9.78.0 from the renovate PR on main.
Contributor
Author
|
@hugohills-regnosys a sensible suggestion. unfortunately CDM and Rune FpML rune definitions have to be processed together and the generator does not currently support multiple namespace prefixes. |
This was referenced Apr 24, 2026
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.
PR Summary
This PR delivers comprehensive function and expression generation support
What's new
Function support
ObjectBuilder), enum-based dispatch, and pre/post conditions.[codeImplementation]or is empty.Completion of support for all Rune defined expressions
sort,min,max,reduce,distinct,flatten,reverse,sum,one-of).with-metaandas-key.Circular reference support
Significant load performance improvement
Completion of support for Type Aliases — type aliases are resolved with flattened naming conventions and collision handling.
Refactored object, attribute, and expression generation — introduced
PythonExpressionScopeand companion blocks to simplify code and support reuse across the generator.Test suite
Python*naming and less fragile assertions.Known gaps
See RUNE_LANGUAGE_GAPS.md
For full details see RELEASE.md.