What is the difference between where so and flattening

[email protected] (ToddAndMargo via perl6-users) Fri, 7 Nov 2025 23:03:09 -0800
Newsgroups perl.perl6.users
Message-ID <[email protected]>
Hi All,

What is the difference between "*@args where .so"
and flattening `|`?

Yours in Confusion,
-T

This from search.brave.com's AI

*@args where .so
defines a slurpy parameter (*@args) that is constrained by a where 
clause. The *@args
syntax indicates that the parameter can accept zero or more arguments, 
forming a list. The where .so clause acts as a constraint, requiring 
that the result of the .so method
applied to the entire list of arguments (*@args) evaluates to a truthy 
value. The .so
method returns True if the object it is called on is truthy, and False 
otherwise.
Therefore, this constraint ensures that the list of arguments passed to 
the subroutine
is not empty or otherwise falsy when evaluated in a boolean context. 
This kind of
constraint is often used to enforce that a list of arguments has at 
least one element
or meets a specific condition based on its truthiness