IT用語集 › プログラミング › do記法

do記法

プログラミング Svenska → 更新: 2026-10-22

連鎖したbind呼び出しを書きやすくするHaskellの糖衣構文。モナド的なコードを命令型のように見せる。do { x <- getName; y <- getAge; return (x, y) }はgetName >>= \x -> getAge >>= \y -> return (x, y)と等価である。

現代の言語にも似た仕組みがある。JavaScriptのasync/awaitはPromiseモナドのdo記法、Rustの?演算子はResult/Optionモナド版、Scalaにはfor内包表記がある。用途はIOの連鎖、エラー処理、リスト内包表記など。心得としては、do記法はモナド的なコードを、命令型の発想を強いることなく人間に読みやすくするものだ。Haskellの強みは、IO、Maybe、Either、State、Reader、Writer、自作のモナドなど、どのモナドにも同じ構文が使えること。async/awaitは、特定の一つのモナドに限った特殊例にすぎない。

← 用語集に戻る