HaskellにおけるArrow型クラスの基礎概念
Arrow型クラスの定義
class Category a => Arrow a where
transform :: (input -> output) -> a input output
primary :: a input output -> a (input, extra) (output, extra)
primary = (||| identity)
auxiliary :: a input output -> a (extra, input) (extra, output)
auxiliary = (identity |||)
(|||) :: a input output -> a input2 o ...
6月9日 21:29 投稿