A v čem jsou jeho hlavní výhody? Především umožňuje větší znovupoužitelnost jednou vytvořeného kódu a otevírá cestu k abstraktnějším definicím funkcí resp. predikátů v programech. Tyto vlastnosti nám umožňují vyhnout se programování velkého množství podobných a zpravidla opakujících se definic.
Programování vyššího řádu je ovšem programovací technika dostupná i v jazyce
Prolog. V první části této kapitoly zmíníme existující podporu
programování vyššího řádu v interpretech jazyka Prolog. V části druhé
zavedeme vlastní predikát :-@/1
, který nám navíc umožní, v rámci
možností, přenést do Prologu další techniku známou z funkcionálního
programování -- curryfikaci. Nakonec vytvoříme několik predikátů vyššího
řádu, které jsou obdobami osvědčených funkcionálů.