In Supply§
See primary documentation in context for method share
method share(Supply:D: --> Supply:D)
Creates a live supply from an on-demand supply, thus making it possible to share the values of the on-demand supply on multiple taps, instead of each tap seeing its own copy of all values from the on-demand supply.
# this says in turn: "first 1" "first 2" "second 2" "first 3" "second 3" my $s = Supply.interval(1).share; $s.tap: { "first $_".say }; sleep 1.1; $s.tap: { "second $_".say }; sleep 2