What about arrows?

前端 未结 2 1668
时光说笑
时光说笑 2021-02-20 06:14

Reading through various tutorials about Haskell\'s various category-themed classes, we find things like Monoid, Functor, Monad and so on -

2条回答
  •  我寻月下人不归
    2021-02-20 06:28

    HXT, a library which is used for parsing XML, is a very good example for the usage of arrows (have a look how often the word Arrow occurs in the module names of this package!). You shall have a look on the great tutorial: http://adit.io/posts/2012-04-14-working_with_HTML_in_haskell.html

    But it is also good to have the arrow concept for functions. For example the following code

    ((+1) &&& (*2)) 3 -- result is (4,6)
    

    just works, because (->) is an instance of the arrow class (The operator &&& is defined in Control.Arrow).

    Thanks to the arrow syntax you have also a great tool to write complex computations in Haskell (it works as well for functions, monads and XML filters in HXT).

提交回复
热议问题