arliss_obsidian/fp/Language/Infix Operators/Common Operators/Data.md
Orion Kindel 3701b1e2f8
update
2024-09-23 18:56:55 -05:00

1.9 KiB

Operator Description Associativity Precedence Defined As
<> append right 5 Data.Semigroup.append
<$> map
<#> flipped map
<*> apply (map using function of 2+ arguments)
>>= bind left 1 Control.Bind.bind
=<< flipped bind right 1 Control.Bind.bindFlipped
>=> point-free bind (kleisli composition) right 1 Control.Bind.composeKleisli
<=< flipped point-free bind right 1 Control.Bind.composeKleisliFlipped
<|> Monadic "or;" try left, if bad then use right right 3 Control.Alternative.alt
*> "evaluate left, then discard its return value and evaluate right" left 4 Control.Apply.applySecond
<* "evaluate left, then evaluate right and continue with the value left returned" left 4 Control.Apply.applyFirst
$> "evaluate left, then discard its return value and continue with value" left 4 Data.Functor.voidLeft
<$ "evaluate right, then discard its return value and continue with value" left 4 Data.Functor.voidRight