初心者の Haskell コースの宿題の一部として、ブール値のペアのリストを取得し、ブール値のペアから「&&」で区切られたブール値のリストを返すプログラムを作成しようとしています。例えば...
andandbool [(True,True),(True,False),(False,True),(False,False)]
戻ります:
[True, False, False, False]
しかし、私はトラブルに遭遇し続けます。私のコードは次のようになります。
andandbool :: [(Bool,Bool)] -> [Bool]
andandbool [a] = [fst x && snd x | x <- [a]]
1 つのペアのみのリストを提供する場合は問題なく動作しますが、複数のペアのリストを入力すると、「関数 andandbool の非網羅的なパターン」が報告されます。私が見逃しているある種のリスト内包表記はありますか? 正しい方向へのポインタは大歓迎です。