Тему не читал, сразу отвечаю. А я правильно понимаю, что MAX(INTEGER) тоже зависит от реализации компилятора? Это же гораздо страшнее, чем SIZE, и низводит ваш распрекрасный КП до уровня вульгарного Си. ЕМНИП в Java всё устроено гораздо лучше в этом отношении - там типы имеют конкретный размер. В лиспе тоже лучше - там целые числа имеют неограниченную точностьЕсли уж наводить порядок, то надо начать с запрета INTEGER, вместо которого нужно ввести типы конкретной битности. В последних стандартах Си есть некоторые поползновения в этом направлении. Правда, избавиться от UB в арифметике всё равно будет тяжело. И вот вам мой тег BlackBoxComponentBuilder.

Поскольку все мои слова умножаются примерно на 1e-10, я привожу конкретнейший пример. Прибваляю я в КП к INTEGER-у 2 INTEGER 2. Ну или там 65535 + 1. Сколько получится? А хто его знает. Т.е. даже простейший калькулятор на КП написать нельзя, равно как и на Си.

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