関数型プログラミング言語Haskell Part27_©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0602デフォルトの名無しさん
2015/02/19(木) 23:44:17.14ID:/rXoqLFu>> 継続の概念そのものは、純粋だよ
補足しとくと、ここで言う「純粋」とは副作用が無い(= 参照透明性が保証される)という意味ね
>純粋なら、小細工しないで、関数プログラミングすればいいのでは?
たとえば Scheme や Standard ML のように先行評価な関数型言語であれば、
(SML/NJ の callcc のように)何の小細工もせず素直に継続を関数プログラミングできる
ところが Haskell は遅延評価を採用しているから、
継続のような制御構造をプログラムとして明示的に記述したいケースに限れば、
小細工が必要になる
>正しくは「モナドは「制御構造」と呼ばれる概念も構成できる」?
だね、モナドという抽象的な概念は、制御構造という枠には限定されない
とはいえ一言で制御構造と言っても、逐次/分岐/反復という三つの基本構造だけでなく、
ジャンプ(GOTO文)、例外の発生/補足、そして全解探索で用いられるバックトラッキングなど
幅広い応用があるから、それだけでもモナドを学び活用する意義は大きい
■ このスレッドは過去ログ倉庫に格納されています