Значение- программирование на уровне

редактировать

Программирование на уровне значений относится к одной из двух противоположных парадигм программирования, определенных Джоном Бэкусом в своей работе, другой - программирование на уровне функций. Изначально Бэкус использовал термин программирование на уровне объектов, но теперь этот термин часто путают с объектно-ориентированным программированием.

Программы уровня значений - это те программы, которые описывают, как комбинировать различные значения (т. Е. числа, символы, строки и т. д.), чтобы сформировать другие значения, пока не будут получены окончательные значения результата. Новые значения создаются из существующих путем применения различных функций преобразования значений, таких как сложение, конкатенация, инверсия матриц и т. Д.

Обычные, программы фон Неймана относятся к уровню значений: выражения в правой части операторов присваивания предназначены исключительно для построения значения, которое затем следует сохранить.

Связь с типами данных

Подход к программированию на уровне значений предполагает изучение пространства значений в рамках операций формирования значений и алгебраических свойств этих операций. Это то, что называется изучением типов данных, и оно продвинулось от сосредоточения внимания на самих значениях и их структуре к первоочередному вниманию к операциям формирования значений . и их структура, заданная некоторыми аксиомами и алгебраическими законами, то есть алгебраическим изучением типов данных.

Связь с языками лямбда-исчисления

Языками на основе лямбда-исчисления (такими как Lisp, ISWIM и Scheme ) на практике являются языками ценностного уровня, хотя дизайн их не ограничивает.

Чтобы понять, почему типичные программы лямбда-стиля в первую очередь относятся к уровню значений, рассмотрим обычное определение функции преобразования значения в значение, скажем

f= λx. E

здесь x должен быть переменной-значением (поскольку аргумент f является значением по определению) и E также должен обозначать значение (поскольку результат f 's является значением по определению). Обычно E - это выражение, включающее применение функций формирования значений к значениям переменных и констант; тем не менее, несколько функций формирования значений, имеющих как аргументы функции, так и аргументы значения, существуют и используются для ограниченных целей.

Если термин «значения» определен как включающий сами переменные-значения, то представление программирования на уровне значений представляет собой одно из построений значений путем применения существующих программ (операций / функций формирования значений) к другим значениям. Программирование в стиле лямбда строит новую программу из значения результата путем лямбда-абстрагирования переменных значения.

См. Также
Последняя правка сделана 2021-06-18 09:10:31
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте