There is a "flip" in P6, to reverse the characters in a string, and a "reverse", to return the elements of a list. Would either of those be an equivalent?
On 9/6/16, Trey Harris <t...@lopsa.org> wrote: > There’s a very common functional programming pattern, usually called flip; > its implementation in Haskell is simply: > > flip :: (a -> b -> c) -> b -> a -> cflip f x y = f y x > > Getting the same behavior out of a bespoke function in Perl 6 would be easy > for any particular case, but writing a general version of flip that would > work universally with all binary operators would be a pain to get right > (while maintaining *exactly* the same behavior and errors as the original > in all conditions), wouldn’t it? > > If so, R is syntactic sugar, but very helpful syntactic sugar. > > On Tue, Sep 6, 2016 at 12:59 PM Aaron Sherman <aaronjsher...@gmail.com> > wrote: > > Oh, and note that you can pass R'd reductions as if they were normal prefix >> ops: >> >> $ perl6 -e 'sub dueet(&op, *@list) { op @list }; say dueet >> &prefix:<[R-]>, >> 1..100' >> -4850 >> >> >> >> On Tue, Sep 6, 2016 at 12:51 PM, Aaron Sherman <aaronjsher...@gmail.com> >> wrote: >> >>> >>> >>> $ perl6 -e 'my @numbers = 1..100; say [-] @numbers; say [R-] @numbers' >>> -5048 >>> -4850 >>> >>> In general, it's kind of pointless with bare infix ops, as you can just >>> reverse the arguments, but when reducing or the like, it becomes much >>> more >>> valuable. >>> >>> >>> >>> On Tue, Sep 6, 2016 at 12:43 PM, Parrot Raiser <1parr...@gmail.com> >>> wrote: >>> >>>> I've just stumbled across "reversed operators", e.g. say 4 R/ 12; # 3 >>>> in the documentation. I'm curious to know why the language includes >>>> them? I'm having trouble understanding where they would be useful. >>>> >>> >>> >> >