Arrow is a useful typeclass for modeling something that behave like functions, e.g,. Function1: A => B, Kleisli: A => M[B] (also known as ReaderT), Cokleisli: F[A] => B, etc. So useful, that Haskell provides a proc notation for composing and combining Arrows, similar as the do notation for sequencing monadic operations. The proc notation comes in really handy, since without it, Arrows have to be used point-free, which impairs readability.
Scala
1 min
Scala is such a wonderful language, itβs impossible not to create a blog and share great things about it.