Programiranje na nivou vrednosti

S Vikipedije, slobodne enciklopedije

Programiranje vrednosti na nivou se odnosi na jednu od dve suprotstavljene paradigme programiranja koje je identifikovao Džon Bakus u svom radu na programima kao matematičkim objektima, druga je programiranje funkcija na nivou.[1] Bakus je prvobitno korišćen termin za programiranje objekata na nivou, ali taj termin je sada sklon zabuni sa objektno-orijentisanim programiranjem.

Programi vrednosti na nivou su oni koji opisuju kako da kombinujete različite vrednosti (tj brojeve, simbole, Strings, itd) da se formiraju druge vrednosti do konačne vrednosti rezultata. Nove vrednosti su izgrađene od postojećih primenom različitih vrednosti za-vrednost funkcije, kao što su sabiranje, spajanje, matrične inverzije, i tako dalje.

Konvencionalni, fon Nojman programi su vrednosti na nivou: izrazi na desnoj strani dodele izjava se isključivo bave izgradnjom vrednosti koja će tada da se čuva.

Povezivanje sa tipovima podataka[uredi | uredi izvor]

Pristup programiranju vrednosti na nivou poziva studije prostora vrednosti ispod operacija u kojima se vrednosti formiraju, i algebarske osobine tih operacija. To je ono što se naziva studija o vrstama podataka, i to je napredovalo od fokusiranja sa vrednosti sebe i svoje strukture, na primarni značaj za poslovanje u vrednosti formiranja  operacija i njihovih struktura, kao što je dato od strane nekih aksioma i algebarskih zakona, koja je, algebarska studija tipova podataka.

Povezivanje sa Lambda račun jezicima[uredi | uredi izvor]

Lambda račun na bazi jezika (kao što su Lisp, ISWIM, i Scheme) u praksi jezika vrednosti na nivoa, iako nisu tako ograničeni dizajnom.

Da vidim zašto su tipični lambda stil programi pre svega vrednosti na nivou, razmislite na uobičajenu definiciju vrednost-na-vrednost funkcije, kaže

f = λx.E

ovde, može vrednost x da varira (od argumenta f je vrednost po definiciji) i E moraju previše označavati vrednost (pošto je rezultat f vrednost po definiciji). Tipično, E je izraz koji uključuje primenu funkcija vrednosti formiranih na varijabli vrednosti i konstanti; Ipak, formira se nekoliko funkcija vrednosti koje imaju obe funkcije i vrednosti argumenata ne postoje i koriste se u ograničene svrhe.

Ako se termin vrednosti definiše tako da uključuje varijablu vrednosti sebe, onda pogled na programiranja vrednost na nivou je jedan od građevinskih vrednosti primenom postojećih programa (operacije / funkcije vrednost za oblikovanje) na druge vrednosti. Programiranje lambda-stila gradi novi program sa rezultatima vrednosti od lambda-vađenje promenljive vrednosti.

Vidi još[uredi | uredi izvor]

Reference[uredi | uredi izvor]

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

Literatura[uredi | uredi izvor]