Skip to content

Add Value type for dataflow values (value channels)#6372

Merged
bentsherman merged 1 commit intomasterfrom
value-channel-type
Sep 2, 2025
Merged

Add Value type for dataflow values (value channels)#6372
bentsherman merged 1 commit intomasterfrom
value-channel-type

Conversation

@bentsherman
Copy link
Member

This PR adds the Value type 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 Value in type annotations. It is primarily a change to docs and terminology.

This change is still under discussion. We already have the Channel type, but we need an additional type to distinguish value channels from queue channels. Value was the resounding favorite in an internal poll (other options were Async, Future, ValueChannel).

So if we go with Channel and Value, it makes sense to update the vocabulary in the docs to match, hence the proposal of "dataflow channel" and "dataflow value".

@netlify
Copy link

netlify bot commented Aug 29, 2025

Deploy Preview for nextflow-docs-staging ready!

Name Link
🔨 Latest commit 84260a3
🔍 Latest deploy log https://app.netlify.com/projects/nextflow-docs-staging/deploys/68b7502a959aea00082e7a22
😎 Deploy Preview https://deploy-preview-6372--nextflow-docs-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@bentsherman bentsherman marked this pull request as ready for review August 30, 2025 16:20
@bentsherman bentsherman requested review from a team as code owners August 30, 2025 16:20
Copy link
Collaborator

@christopher-hakkaart christopher-hakkaart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@bentsherman
Copy link
Member Author

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

@christopher-hakkaart
Copy link
Collaborator

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>
@bentsherman bentsherman merged commit 8de2339 into master Sep 2, 2025
23 checks passed
@bentsherman bentsherman deleted the value-channel-type branch September 2, 2025 20:23
ewels pushed a commit to ewels/nextflow that referenced this pull request Sep 20, 2025
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
Signed-off-by: Phil Ewels <phil.ewels@seqera.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants