2

違いは何ですか?seqより多くの流れ条件を保証しますか?

4

2 に答える 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モナドに固有のものではありません。seq2 番目の引数が返される前に、最初の引数の評価を強制するために使用されます。

于 2011-07-26T23:54:47.050 に答える