15

返す関数IO Bool(具体的には) がある場合、バインドせずにステートメントでatomically直接戻り値を使用する方法はありますか?if

だから現在私は持っている

ok <- atomically $ do
  ...
if (ok) then do
  ...
else do
  ...

これを次のように書くことはまったく可能ですか?

if (*some_operator_here* atomically $ do
      ...) then do
  ...
else do
  ...

<-匿名のようなものを使用する方法があることを望んでいましif (<- atomically ...)たが、今のところそのような運はありません。

同様にgetLineでも、次のように書くことは可能ですか

if ((*operator* getLine) == "1234") then do ...

関連補遺 -- の種類は(<-)何ですか? ghciに表示できません。私はそれが であると仮定していますm a -> aが、それはモナドの外でそのモナドをエスケープするために使用できることを意味します。これは安全ではありませんよね? (<-)まったく関数ではありませんか?

4

3 に答える 3