size как тип

size - возвращает "размер", для чисел это количество необходимых байтов для выражения его зачения, для внешних символов это количество байтов, занимаемое ими в базе данных, для других символов это количество байтов, занимаемых представлением имени в формате UTF-8, а для списков это общее количество ячеек в этом списке и всех его подсписках.
Ну и кажется, что больше здесь нечего комментировать, разве что добавить до кучи функции из замечания “см. также“ … length и bytes, что, конечно, они будут рассмотрены далее. А здесь затронута тема типа или концепция типа.
По идеи самого процесса типизации типом является каждый символ и, конечно, группирование символов в категории или классы по каким-то признаком - тоже типизация. Типизация и символизация - близнецы-братья, просто абстрагирование (обобщение). Так, что универсальная теория типов это аналог теории классификации, ну может быть её какая-то спецификация в связи с процессами организации компьютерной памяти. А тогда и размеры контейнеров для данных (и кода) тоже типизация. Что, кстати, хорошо аргументируется самой практикой при определении, так называемых, примитивных типов - битов, адресуемых байтов, 16-ричных чисел, разрядности, целых, с плавающей точкой и так далее …
В виртуальной машине PicoLisp декларируется базовым типом клетка памяти, состоящая из двух частей по 64 бита каждая, то есть из 16 адресуемых слов, байтов. Поэтому понятно и выражение “количество ячеек в списке“. Ставшей уже классическая теория типов в информатике, скорее о типизации функций или операций в алгебраической традиции, почему, кстати, объекты в ООП или символы в том же PicoLisp, более общий случай чем функции, которые, в свою очередь, шире чем просто функции и по сути, символами обозначаются также и процедуры, и макросы.
Subscribe to my newsletter
Read articles from Sergey Shishkin directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Sergey Shishkin
Sergey Shishkin
Всегда чему-то учусь!