Skip to content

Free ForAll and Self Modifying Code: ForAll - #3043

Open
Greg Lindhorst (gregli-msft) wants to merge 8 commits into
gregli/free-self-basefrom
gregli/free-self-forall
Open

Free ForAll and Self Modifying Code: ForAll#3043
Greg Lindhorst (gregli-msft) wants to merge 8 commits into
gregli/free-self-basefrom
gregli/free-self-forall

Conversation

@gregli-msft

@gregli-msft Greg Lindhorst (gregli-msft) commented Mar 20, 2026

Copy link
Copy Markdown
Contributor

This PR enables Set, Clear, and ClearCollect to be used in ForAll. This has been a long-time customer request that we told PPCC 2024 audiences that we would do.

These functions have been disallowed until now with the hope that we may someday parallelize ForAll. However, this was attempted in Canvas and customers had found other ways to take a dependency on the order of evaluation. We are officially giving up on this notion - ForAll will from this point forward always be sequential (as it always has been).

We will also introduce a new Map function that does not support side effects in the lambda and can be parallelized.

This is not a breaking change. This previously generated an error, but no longer.

@gregli-msft Greg Lindhorst (gregli-msft) changed the title Gregli/free self forall Free ForAll and Self Modifying Code: ForAll Mar 20, 2026
@gregli-msft
Greg Lindhorst (gregli-msft) marked this pull request as ready for review March 20, 2026 05:26
@gregli-msft
Greg Lindhorst (gregli-msft) requested a review from a team as a code owner March 20, 2026 05:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant