In [1]: {3,4,5} & {5,6}
Out[1]: {5}
or is there something I'm missing? In [1]: {3,4,5} & {5,6}
Out[1]: {5}
or is there something I'm missing? > (5|4) + 1
any(6, 5)
> (5&4) + 1
all(6, 5)
> my $x = 5|4|3|2
any(5, 4, 3, 2)
> say "yep!" if $x + 2 ~~ 7
yep!
> ((2|3|4|5|6|7) & (3|4)) + 1 ~~ 5
True
> ((2|3|4|5|6|7) & (3|4)) + 1 ~~ 6
False
Kinda weird, especially & junctions. The docs[1] say "Junctions are meant to be used as matchers in boolean context; introspection of junctions is not supported. If you feel the urge to introspect a junction, use a Set or a related type instead."So far in my Perl 6 exploration I don't think I've used/needed junctions -- strikes me as a specific sort of use-case, but maybe familiarity would help me spot more (useful) opportunities.
[1] http://doc.perl6.org/type/Junction, though like all P6 docs needs more contributions
If you wanted, you could get pretty close in ruby with only a sprinkle of ill-advised metaprogramming.
> junc{5|4} + 1
any(6, 5)
> junc{5&4} + 1
all(6, 5)
> x = junc{5|4|3|2}
any(5, 4, 3, 2)
> puts "yep!" if x + 2 =~ 7
yep!
> junc{(2|3|4|5|6|7) & (3|4)} + 1 =~ 5
True
> junc{(2|3|4|5|6|7) & (3|4)} + 1 =~ 6
False
would be possible.I guess I'm just curious if this is a situation that comes up often enough to need a built in literal syntax.
http://doc.perl6.org/type/Junction
I could copy and paste the definition but it wouldn't be too helpful without context.
When it says autothread does it mean actual separate threads/CPUs?
I don't think Rakudo implements that yet, but there's quite a lot to improve first.