Haskellでは、任意の数のファイルに書き込むにはどうすればよいですか? 例として、aからzまでの文字を取り込み、その内容の名前のファイルに入れたいとします。最初の試みは、次の操作を実行することでした。次のエラー生成 main :: IO()
main = do
let letter = map (:"") ['a'..'z']
zipWith writeFile le
IOを実行するtypeclassがあります。私はそれをMonadIOを使用して少し一般化しました: class MonadIO m => MonadDB m where
getSomething :: String -> m Something
getSomething s = -- do some IO stuff with liftIO
私はgetSomethingを使
bind関数(>>=)が署名を有する: m a -> (a -> m b) -> m b
しかし、Iシグネチャを持つ関数をしたい: m (t a) -> (a -> m (t b)) -> m (t b)
具体的には、私は整数与えられた機能を持っている、それがIO内に整数のリストを返します。 f :: Int -> IO [Int]
ですが、IO of list of Integers