Програмирање на нивоу вредности

Програмирање вредности на нивоу се односи на једну од две супротстављене парадигме програмирања које је идентификовао Џон Бакус у свом раду на програмима као математичким објектима, друга је програмирање функција на нивоу.[1] Бакус је првобитно коришћен термин за програмирање објеката на нивоу, али тај термин је сада склон забуни са објектно-оријентисаним програмирањем.

Програми вредности на нивоу су они који описују како да комбинујете различите вредности (тј бројеве, симболе, Стрингс, итд) да се формирају друге вредности до коначне вредности резултата. Нове вредности су изграђене од постојећих применом различитих вредности за-вредност функције, као што су сабирање, спајање, матричне инверзије, и тако даље.

Конвенционални, фон Нојман програми су вредности на нивоу: изрази на десној страни доделе изјава се искључиво баве изградњом вредности која ће тада да се чува.

Повезивање са типовима података

Приступ програмирању вредности на нивоу позива студије простора вредности испод операција у којима се вредности формирају, и алгебарске особине тих операција. То је оно што се назива студија о врстама података, и то је напредовало од фокусирања са вредности себе и своје структуре, на примарни значај за пословање у вредности формирања  операција и њихових структура, као што је дато од стране неких аксиома и алгебарских закона, која је, алгебарска студија типова података.

Повезивање са Ламбда рачун језицима

Ламбда рачун на бази језика (као што су Lisp, ISWIM, и Scheme) у пракси језика вредности на нивоа, иако нису тако ограничени дизајном.

Да видим зашто су типични ламбда стил програми пре свега вредности на нивоу, размислите на уобичајену дефиницију вредност-на-вредност функције, каже

f = λx.E

овде, може вредност x да варира (од аргумента f је вредност по дефиницији) и E морају превише означавати вредност (пошто је резултат f вредност по дефиницији). Типично, E је израз који укључује примену функција вредности формираних на варијабли вредности и константи; Ипак, формира се неколико функција вредности које имају обе функције и вредности аргумената не постоје и користе се у ограничене сврхе.

Ако се термин вредности дефинише тако да укључује варијаблу вредности себе, онда поглед на програмирања вредност на нивоу је један од грађевинских вредности применом постојећих програма (операције / функције вредност за обликовање) на друге вредности. Програмирање ламбда-стила гради нови програм са резултатима вредности од ламбда-вађење променљиве вредности.

Види још

Референце

  1. ^ Sergio Antoy; Michael Hanus (2010). „Functional logic programming”. Communications of the ACM. 53 (4): 74—85. 

Литература