The Traversable Paperの 18 ~ 19 ページに、単項トラバーサルと単項トラバーサルの融合の例が示されています。これは非常に興味深いように聞こえますが、それらの LaTex に戸惑っています。
cciBody :: Char -> Count a
wciBody :: Char -> (|M| (State Bool) DotInASquare Count) a
次のような驚くべき結果が得られました。
(traverse cciBody) xInACircle (traverse wciBody)
以下と同じです:
traverse (cciBody xInACircle wciBody)
その結果のタイプは次のとおりだと思います。
Count XInASquare (|M| (State Bool) DotInASquare Count) [a]
しかし、100%確かではありません。Haskell で絵文字がどのように表示されるか教えてください。
アップデート
xInACircle は infix かもしれないと思いますsequenceA
。種類がそろっています。または(,)
、どれが のインスタンスであるかだけかもしれませんTraversable
。<*>
結果は少し似ていますが、論文ではt (x <*> y) = t x <*> t y
Wingding を使用していません。<*>
更新 2
xInACircle の型は (Functor m, Functor n) ⇒ (a → mb) → (a → nb) → (a → (m XInASquare n) b) です。何か思い出しますか?私じゃない。