標準ライブラリにandってあります。与えられたリスト要素が全て、Trueであるか?
をチェックする機能を持ち、型定義は⬇のようになります。
andの型定義
and :: [Bool] -> Bool
このライブラリがどう実装されてるか?にも興味がありますが、
ここは、ちょいと再帰を使って、再定義してみます。
再帰によるandの定義
and_recursive::[Bool]->Bool
and_recursive [] = True
and_recursive (x:xs) = x && and_recursive xs
繰り返し動作をfor文を使わず、再帰的に表現するのって刺激的です。