前提: 型クラス 型クラスの話をしています。型クラスは、ダックタイピングのすごく良いやつです(適当)(コメントで識者がツッコんでくれる) 型クラス(とその具体例であるインスタンス)にはいろいろあるけど、今回はValidatedとTraverseについて話しているよ 言語によって呼び名はいろいろあるけどここではScala(のCatsライブラリ)での呼び名で書いています ValidatedはApplicative、Functorのインスタンスだよ(ApplicativeとFunctorのインスタンスであることを強調してValidated applicative functorと呼ぶことがあるよ) Monadじゃないよ Monad版はEitherが相当するよ TraverseはFunctorにtraverseという操作を導入した型クラスだよ 例えばListはTraverseのインスタンスだよ V
![Validated applicative functorの良さ + Traverse](https://cdn-ak-scissors.b.st-hatena.com/image/square/a77b413dfd1783fa4e7d636439e238d22084efea/height=288;version=1;width=512/https%3A%2F%2Fs.togetter.com%2Fogp2%2F65232ba45a95c2d0ed35b08ac479c439-1200x630.png)