違いは何ですか?seq
より多くの流れ条件を保証しますか?
2 に答える
15
それらはまったく関係がありません。
seq
タイプがあります:
seq :: a -> b -> b
これは ( seq a b
、またはとしてa `seq` b
)a
先頭の正規形に評価するために使用a
されます。モナドとは関係ありません。
>>=
モナドを配列するためのものです。次のタイプがあります。
(>>=) :: Monad m => m a -> (a -> m b) -> m b
モナド値から値を取得し、それを別のモナド値を返す関数に渡すために使用されます。基本的に次のようなもの:
getLine >>= putStrLn
コマンドラインから入力の文字列を取得し、それを出力します。
というわけで、基本的には関係ありません。
于 2011-07-26T23:57:44.507 に答える
2
seq
モナドに固有のものではありません。seq
2 番目の引数が返される前に、最初の引数の評価を強制するために使用されます。
于 2011-07-26T23:54:47.050 に答える