Recently, I read about arrows , a concept invented more than 10 years ago. This allows you to get more static information about the calculations compared to monads, while still having the power of calculations depending on the previous ones.
However, I could not find them in the latest modern libraries. For example, attoparsec does not even have an Arrow instance, although arrows were designed to speed parsing.
Are there any good examples of arrows used in currently developing libraries or executables that bring performance or other benefits?
(I understand that this is a kind of soft question - my goal is to better understand the concept and its advantages.)
haskell arrows
Petr pudlák
source share