>>597
>> 継続の概念そのものは、純粋だよ

補足しとくと、ここで言う「純粋」とは副作用が無い(= 参照透明性が保証される)という意味ね

>純粋なら、小細工しないで、関数プログラミングすればいいのでは?

たとえば Scheme や Standard ML のように先行評価な関数型言語であれば、
(SML/NJ の callcc のように)何の小細工もせず素直に継続を関数プログラミングできる
ところが Haskell は遅延評価を採用しているから、
継続のような制御構造をプログラムとして明示的に記述したいケースに限れば、
小細工が必要になる


>正しくは「モナドは「制御構造」と呼ばれる概念も構成できる」?

だね、モナドという抽象的な概念は、制御構造という枠には限定されない
とはいえ一言で制御構造と言っても、逐次/分岐/反復という三つの基本構造だけでなく、
ジャンプ(GOTO文)、例外の発生/補足、そして全解探索で用いられるバックトラッキングなど
幅広い応用があるから、それだけでもモナドを学び活用する意義は大きい