Кіріспе

Бағдарламалау тілі

FP (функционалдық бағдарламалаудың аббревиатурасы) ақырында қазіргі заманғы функционалдық тілдерге алып келді, олар негізінен лямбда-есептеу парадигмасына негізделген, ал Бэкус үміттене бастаған функциялық деңгей парадигмасына емес. Өзінің Тьюринг сыйлығына ие болған мақаласында Бэкус FP стилінің ерекшелігін былай сипаттады:

цитата|FP жүйесі функционалдық формалар деп аталатын біріктірудің тұрақты жиынтығын пайдалануға негізделген. Осы формалар және қарапайым анықтамалар ғана қолданыстағы функциялардан жаңа функцияларды құру құралы болып табылады; олар айнымалыларды немесе алмастыру ережелерін қолданбайды және бағдарламалардың байланысты алгебрасының операцияларына айналады. FP жүйесінің барлық функциялары бір типті: олар объектілерді объектілерге бейнелейді және әрқашан бір аргумент қабылдайды. 1980 жылдары Бэкус IBM Research-тегі ішкі жоба ретінде FL тілін жасады.

FP84

FP84 – бұл FP-нің шексіз тізбектерді, бағдарламашы анықтаған біріктіру формаларын (Бэкустың өзі FL-ге, FP-нің жалғасы ретінде қосқандары сияқты) және жалқау бағалауды қосатын кеңейтімі. FFP-ден, FP-ге қатысты Backus-тің тағы бір жеке өзгерісінен айырмашылығы, FP84 нысандар мен функцияларды нақты ажыратады: яғни, функциялар енді бұрынғы нысандардың тізбектері арқылы көрсетілмейді. FP84 кеңейтімдері FP-нің тізбек құрастыру тек ⊥ емес нысандарға ғана қолданылуы керек деген шектеуін жою арқылы іске асырылады: FP84-де өрнектердің барлық кеңістігі (мағынасы ⊥ болғандарды қоса алғанда) тізбек құрастыру бойынша жабық болады. FP84 семантикасы бағдарламалардың алгебрасында, бағдарламаларды манипуляциялау және талдау үшін қолданылатын функция деңгейіндегі теңдіктер жиынтығында көрініс береді.