-
Notifications
You must be signed in to change notification settings - Fork 306
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
Ease optional access with scatter-like block #187
Comments
I can see the issue, but I can't say I'm crazy about the syntax. Also, I assume the
|
@cjllanwarne Could you provide context on use cases and such? In general it'd be helpful for proposed language constructs to come attached with some concrete examples of "why" |
Sure! The idea here is to provide syntactic sugar for the boilerplate in the following scenario: workflow foo {
[...]
Int? x = ...
if(defined(x)) {
Int real_x = select_first([x])
call bar { input: x = real_x }
}
}
task bar {
Int x
[...]
} This construction is becoming more and more common in WDLs as people start using |
In my opinion the |
Non Deterministic workflows (although already supported) is one thing that I always struggle with, as it defeats the underlying purpose of reproducibility. I always wonder If this type of construct is occurring more and more, whether its something that we should encourage, or try to steer users away from. That being said if this is something everyone wants, then I will entertain the idea. I would not add any additional constructs or execution blocks. I believe this can be solved by properly employing current constructs then adding a better The workflow foo {
[...]
Int? x = ...
if(defined(x)) {
call bar { input: x = select(x) }
}
}
task bar {
Int x
[...]
} |
Port of Cromwell issue broadinstitute/cromwell#1852
Equivalent to scatter blocks for arrays, I propose a new ifDefined block for optionals:
The text was updated successfully, but these errors were encountered: