Skip to content
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

Support for WDL's Object type #694

Open
stxue1 opened this issue Jun 19, 2024 · 1 comment
Open

Support for WDL's Object type #694

stxue1 opened this issue Jun 19, 2024 · 1 comment
Labels
interop Bears on spec compatibility

Comments

@stxue1
Copy link

stxue1 commented Jun 19, 2024

Objects are deprecated in 1.1, but the spec, at least according to their unit tests, requires the object type to be supported for WDL 1.1. There is a unit test in the SPEC:
https://github.com/openwdl/wdl/blob/9c0b9cf4586508a9e6260cc5c5e562e21f625aac/SPEC.md?plain=1#L1054-L1091

And according to the wdl-tests specification, this test is required:
https://github.com/openwdl/wdl-tests/blob/58ff36209586ed69c9a64d3e0b151a343f12a4eb/docs/Specification.md?plain=1#L78-L81

The priority of the test. Must be one of the following values. Defaults to "required".

Does MiniWDL ever plan on supporting objects? Objects already "exist" and appear to only be used for coercing to structs, but the type isn't used during MiniWDL's parsing step, so running any workflow with objects fails before actually running it.

(/home/heaucques/Documents/wdl-conformance-tests/unit_tests/test_object.wdl Ln 5 Col 5) Unknown type Object
        Object obj = object {
        ^^^^^^^^^^^^^^^^^^^^^
@mlin
Copy link
Collaborator

mlin commented Jun 27, 2024

@stxue1 Indeed we have documented this as a limitation. Behind the scenes, the dynamically typed nature of Object would necessitate pervasive special-casing in the static type-checking logic and we judged this would not be a good trade-off given the introduction of structs to replace them.

@mlin mlin added the interop Bears on spec compatibility label Jun 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
interop Bears on spec compatibility
Projects
Status: Chronic
Development

No branches or pull requests

2 participants