2016-11-29 2 views
6

В книге Язык программирования Design Concepts, он говорит:Что такое принцип полноты типа?

ПИТОН подсчитывает процедуры как значения первого класса, наряду со всеми примитивными и составных значений. Таким образом, PYTHON хорошо соответствует принципу полноты ввода .

Я все еще не понял.

+1

может представлять интерес: https://www.researchgate.net/publication/240319683_Type-completeness_as_a_language_principle – Julien

ответ

7

типа Полнота Принцип:

Никакие операции не должны быть произвольно ограничены в типах значений участвующих. - значения первого класса Watt

можно оценить, передаются в качестве аргументов и используются в качестве компонентов композиционных значений. Функциональные языки не выполняют никаких различий в классе, , тогда как императивные языки обычно обрабатывают функции (в лучших) как значения второго класса.

Практически все языки программирования ограничивают типы объектов , которые могут передаваться как значения (и, следовательно, имеют осмысленный тип ). В C или C++ функции не являются значениями, хотя указатели на функции . Классы не являются значениями.

В Java методы и классы не являются значениями, хотя вы можете получить объект-объект, представляющий класс как значение, а в Java 8 вы можете передавать ссылки методов как значения. Однако пакеты не являются значениями .

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