Number

Есть возможность проверить, является ли что-то числом и есть класс для числовых отношений - num? , +Number. Можно отметить ещё такую деталь, что числа и списки чисел не надо “кавычить”, что естественно. Я числа называю автореферентными символами, поскольку они сами по себе “значения“. “Короткие” числа укладываются в одну ячейку виртуальной машины, а “большие“, фактически, упаковываются в списочную структуру. *

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

Вспомним утверждение, высказанное ранее. Любая функция и даже параметр или переменная - по сути, интерпретатор. Калькулятор, основываясь на арифметическом процессоре специализированный модуль, существующий в любой системе и может быть выведен на нижний уровень или даже во внешний микросервис. В связ со специализацией базовых вычислительных процессов, сразу вспоминается замечание автора PicoLisp где-то в докментации, что можно было бы реализовать, наконец, на аппаратном уровне тот же условный оператор. Давно пора.