私は関数a -> [b]
を持っていますが、同様の関数に変換する関数を探していますが、リストの要素は新しい型/データでラップされています:a -> [t b]
。だから私は次のことをする関数を見つける必要があります:(a -> [b]) -> (a -> [t b])
。新しいデータ型の関数の出力をラップする
Hoogleはtraverse
に最も近い一致を示していますが、正確には私が探しているものではありません。 Haskellの強力なtypeclassesを使って、私が必要とする関数を構築する方法はありますか?
私は管理することはできませんが、コードはBoardable <$> makeBListFrom a
のようにもっと冗長でなければなりません。のBoardable
コンストラクタを表します。
私はその目的のために具体的なものは何もないと思います。私の唯一の提案は、あなたが最後の段落で示唆している点の点数のスペルは間違いなく少し控え目であることです: 'fmap Boardable。 makeBListFrom' – duplode
はい!まったく。それが私の言いたいことです。ありがとうございました。 – Dahan