programowanie wartość poziomu - Value-level programming

Programowanie wartości poziom odnosi się do jednego z dwóch kontrastujących paradygmat programowania zidentyfikowanych przez John Backus w swojej pracy na programach jako obiektów matematycznych , druga jest programowanie funkcji poziomu . Backus pierwotnie użył terminu programowania obiektowego poziomie , ale ten termin jest już skłonny do pomylenia z programowania obiektowego .

Programy wartość poziomu są te, które opisują, jak łączyć różne wartości (czyli liczb, symboli, smyczki, etc.), aby utworzyć inne wartości dopóki ostateczne wartości wynik uzyskuje. Nowe wartości są z istniejących przez stosowanie różnych wartości do wartości funkcji, takich jak dodawanie, łączenie, inwersja macierzy, i tak dalej.

Konwencjonalne, programy von Neumanna są wartości poziomu: wyrażenia po prawej stronie instrukcji przypisania są zainteresowane wyłącznie z budową wartość, która jest następnie mają być przechowywane.

Połączenie z typami danych

Podejście wartość poziomu do programowania zaprasza badanie przestrzeni wartości w ramach operacji o wartości tworzące oraz z algebraicznych własności tych operacji. To jest to, co nazywa się studium typów danych , a ona awansowała z koncentrując się na wartościach siebie i swoją strukturę, aby podstawowej troski o wartości tworzące operacji i ich struktury, jak podane przez niektórych aksjomatów i praw algebraicznych, że jest , do algebraicznej badaniu typów danych .

Połączenie z rachunek lambda językach

Rachunek lambda -na języków (na przykład Lisp , ISWIM i schemacie ) jest w praktyce języków wartości poziomu, choć nie są tak ograniczone konstrukcji.

Aby zrozumieć, dlaczego typowy styl lambda programy są głównie wartość poziomu, należy rozważyć zwykły definicji funkcji wartości do wartości, powiedzmy

f = λx.E

Tutaj x musi być zmienna wartość (od argument f ma wartość definicji) i E muszą oznaczać wartości zbyt (od F” wynik y ma wartość z definicji). Typowo, E jest wyrazem obejmujących stosowanie funkcji wartości formowania do wartości zmiennych i stałych; Niemniej jednak kilka funkcji wartości tworzące posiadające oba argumenty funkcji i wartości istnieją i są używane do ograniczonych celów.

Jeśli określenie wartości jest zdefiniowana obejmują zmienne wartość siebie, to widok wartość poziomu programowania jest jedną z wartości budynku przy zastosowaniu istniejących programów (wartość operacji formowania / funkcje) do innych wartości. Programowanie Lambda-styl buduje nowy program z wyniku wartości przez lambda-abstrahując zmiennych wartości.

Zobacz też