Функционално програмирање

Преглед подршке за функционално програмирање и ламбда изразе у савременим императивним програмским језицима. Основе ламбда рачуна: синтакса и семантика, слободне и везане променљиве. Редукције у ламбда рачуну. Израчунавање вредности ламбда израза и валидни ламбда изрази. Функције вишег реда у ламбда рачуну, нормални облик, комбинатори. Рекурзија у ламбда рачуну, аритметика целих бројева, логички и условни изрази у ламбда рачуну. Функционални програмски језици. Разлика између функционалног и императивног програмирања. Структуре података и синтакса изабраног функционалног програмског језика. Функције вишег реда и каријеве функције. Преглед уграђених функција и оператора у изабраном функционалном програмском језику. Решавање проблема на "функционалан" начин. Функтори, апликативни функтори и моноиди. Монаде.

Рачунарски факултет Рачунарски факултет 011-33-48-079