Add Value type for dataflow values (value channels)#6372
Conversation
✅ Deploy Preview for nextflow-docs-staging ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Docs look good. I've added a few suggestions that I think help with flow. Take or leave what you like.
I think Channel and Value are clear and make sense.
I would like to change some of the voice and tense on some of these pages. But I'll leave that to another PR.
|
Thanks Chris. What do you think about the terminology shift overall? Referring to value channels as "dataflow values" instead of channels? Do you think it makes things more or less clear? One implication is that describing workflows as "processes connected by channels" isn't strictly true, since the connections could be through dataflow values, which in this PR we're saying are not channels. But "processes connected by channels" is still mostly true and probably how most people will still talk about it |
|
My 0.02 cents worth here is that I like being able to say channels and values, and I think this would make sense moving forward (I think most will instinctively shorten to "value" from "dataflow values"). It is a fundamental shift in the way we talk/describe Nextflow. It might create some friction initially but I think it would be a net gain over time. The "processes connected by channels" not being 100% true concerns me a little bit. It would be ideal to tidy this somehow, but I'm not sure if there is a clean solution. It would likely require more renaming, which is just going to move the problem around. |
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
f1e9cf9 to
84260a3
Compare
Signed-off-by: Ben Sherman <bentshermann@gmail.com> Signed-off-by: Phil Ewels <phil.ewels@seqera.io>
This PR adds the
Valuetype to the Nextflow type system to distinguish value channels from queue channels.It renames "queue channels" and value channels as "dataflow channels" and "dataflow values", or "channels and values" for short. This language is more clear and concise, since "queue channel" is somewhat redundant and "value channel" is somewhat contradictory.
There are no changes to runtime behavior aside from allowing the use of
Valuein type annotations. It is primarily a change to docs and terminology.This change is still under discussion. We already have the
Channeltype, but we need an additional type to distinguish value channels from queue channels.Valuewas the resounding favorite in an internal poll (other options wereAsync,Future,ValueChannel).So if we go with
ChannelandValue, it makes sense to update the vocabulary in the docs to match, hence the proposal of "dataflow channel" and "dataflow value".