Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
IOその副作用として実行される関数を書くことはできますか? 例えば:
IO
f :: Int -> Int f n = putStr "text" >> return n*2
明らかに、完全に間違っていない限り、そのコードを書く方法はありませんが、少なくとも私がやろうとしていることを大まかに示すはずです。
あなたの機能はほぼ正しいです。副作用がある場合は、 type が必要ですIO。また、関数の適用は infix よりも厳密にバインドされます。これらの結果を修正すると、次のようになります。
f :: Int -> IO Int f n = putStr "text" >> return (n*2)