Number

Есть возможность проверить, является ли что-то числом и есть класс для числовых отношений - num? , +Number. Можно отметить ещё такую деталь, что числа и списки чисел не надо “кавычить”, что естественно. Я числа называю автореферентными символами, поскольку они сами по себе “значения“. “Короткие” числа укладываются в одну ячейку виртуальной машины, а “большие“, фактически, упаковываются в списочную структуру. *
Есть специфика представления чисел с плавающей точкой, она фиксирована и “не плавает”. Самый тривиальный для понимания раздел, но с которым генерируют горы информационного мусора в примерах по программированию, которые отвлекают и занимают время при чтении документации и как инструкции полезны в исключительных случах. Есть целая математическая дисциплина численного моделирования и библиотеки программ для вычисления интегральных и дифференциальных уравнений, есть свою специфическая арифметика в реализации геометрического интерфейса, поэтому можно предположить, что этим можно заниматься специальным образом на “нижнем” и “верхнем” уровне, но для обычных массовых приложений достаточно понимать, что “мета-интерпретатору“ достаточно распознавать алгебраическое выражение, в которое подставить числа вместо переменных и передать специальному интерпретатору-калькулятору уже числовую формулу, который учитывая приоритет операций в скобках, вычислит эту формулу и вернет результат.
Вспомним утверждение, высказанное ранее. Любая функция и даже параметр или переменная - по сути, интерпретатор. Калькулятор, основываясь на арифметическом процессоре специализированный модуль, существующий в любой системе и может быть выведен на нижний уровень или даже во внешний микросервис. В связ со специализацией базовых вычислительных процессов, сразу вспоминается замечание автора 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
Всегда чему-то учусь!