長年使用されてきた Haskell の Monad IO に代わる実行可能な (より良い) 代替手段と見なされる新しいアプローチがあるかどうか疑問に思っています。
2 に答える
主な代替手段は効果システムです。例については、 http://www.cse.unsw.edu.au/~benl/papers/thesis/lippmeier-impure-world.pdfを参照してください。それらの多くがあるので、あなたの質問には賢明に答えることができません. タイプと効果システムとは?も参照してください。
モナディック I/O は現在、純粋言語の「最先端」ですか?
それ自体で?いいえ - モナディック インターフェイスの背後で I/O を抽象化することは、30 年近く行われてきました。
新しいのは、 iterateesなどのモナド I/O の抽象化です。Owen Stpehens は、彼の概要Approaches to Functional I/Oで詳細を説明しています。彼は現在の状況を次のように要約しています。
I/O は特に活発な研究分野ではありませんが、新しいアプローチはまだ発見されています [...]
Ben Lynnも同様の見解を示しています。
そして、時折不純なラッパーを使用してほぼ純粋なコードを記述できるようになった今、研究者はより優れた代替手段を探すことをほとんどやめました.
コナル・エリオットはそれを非常に印象的に説明しています:
モナドの命令型プログラミングが発明され、受け入れられたことで、Haskell コミュニティがアヘン窟に迷い込み、まだ霧の中に横たわっているようなものです。
わかりました、私は少し誇張しているかもしれません。リハビリ中の人もいれば、「吸入しなかった」人もいます。
モナドのインターフェースをそのような目立たせるのに役立ったのは、ダイアログの醜さでした.モナドのI/Oは、まったく新しい代替品を生み出すほど醜いと見なされることはありますか?
時間だけが教えてくれます...