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 Arrow
s, similar as the do
notation for sequencing monadic operations. The proc
notation comes in really handy, since without it, Arrow
s 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.