Ćwiczenia na listy z elementami procedur wyższych rzędów:
-
Napisz procedurę
exists, która dla danego predykatu i listy sprawdzi, czy na liście jest element spełniający predykat.
Wykorzystaj wyjątki tak, aby nie przeglądać listy, gdy to już nie jest potrzebne.
-
Napisz procedurę negującą predykat
non: (α → bool) → (α → bool).
Za pomocą tej procedury oraz procedury exists zdefiniuj procedurę forall,
która sprawdza, czy dany predykat jest spełniony przez wszystkie elementy danej listy.