今、Haskell ライブラリには、私がやりたいことをする何かがあるかもしれません。私は初心者なので、よく知っているツールを使用してカスタムマップ関数を作成しようとしています。型シグネチャは
myMap :: (Monad m) => (a -> b) -> [m a] -> [m b]
whereは、の各 Monad の各値にmyMap f as
適用した後にリストを返します。f
as
私の最初の試みは
myMap f = map (\x x >>= f)
ただし、これには型シグネチャがあります
myMap :: (Monad m) => (a -> m b) -> [m a] -> [m b]
これは私が必要としているものに非常に近く、私は叫ぶことができます. ここから先の進め方のヒントが必要です。ライブラリ関数と同じくらい簡単であることを本当に願っていますが、代わりにこれを行う独自の短い関数を喜んで作成します。
関連する質問: