Aplikace z funkcionálního světa

Programování vyššího řádu je vlastní programování funkcionálnímu. V předchozích částech jsme zavedli dostatečnou podporu v rámci našeho implementačního jazyka, kterým je Prolog.

Tato podpora bude použita jako základní prostředek při konstrukci parserů. Byla by však škoda nevyužít všech možností, jež nám otevírá. V této části tedy definujeme predikáty, které jsou ekvivalenty osvědčených funkcionálů, o jejichž užitečnosti nás přesvědčili funkcionální programátoři.

Existuje řada téměř standardních operací se seznamy, které jsou definovány s dostatečnou obecností, takže se na jejich základě dá snadno vyjádřit řada predikátů. V definici těchto standardních operací se sice využívá rekurzivní zpracování seznamů, ale pokud jsou predikáty definovány vhodným způsobem, je jejich provedení efektivní díky optimalizacím, jež jsou běžnou součástí moderních interpretů jazyka Prolog. To vede k efektivním a snadno čitelným programům. Tyto predikáty mají ve většině případů za argumenty jiné predikáty, takže se označují jako predikáty vyššího řádu.



Subsections

dvorka 2013-12-31