gudleifr писал(а):
Пока же могу констатировать: компиляция на лету "по Вам" состоит в "преобразовании типов" для дальнейшей унификации.
Можно сформулировать и таким образом. Только не понятно, почему "компиляция на лету" в отношении примера с NUMBER? Хотя, если посмотреть, как устроен словарь, представляющий содержимое DLL, то да, там есть и компиляция на лету.
gudleifr писал(а):
Т.е. написав код, превращающий данные некоторого типа в ссылку на слово, что-то с этими данными делающее, Вы получаете возможность сказать - "все есть слово".
Именно так. Нет исключений - есть либо распознаваемые вещи (даже не лексемы, т.к. распознавать словарь может и перечислимые и неперечислимые множества), либо в неопознаваемые - т.е. неизвестные. А для удобного и простого управления порядком распознавания и его возможностями используется контекст.
gudleifr писал(а):
Т.е. задав вопрос "нужна ли компиляция на лету" (и предложив ответы "иногда удобнее передать алгоритм, чем данные" (NUMBER) и "иногда хочется изменять алгоритм на лету" (КОРОБКИ)), я наконец, не мытьем, так катанием, получил от Вас ответ "такая компиляция нужна для преобразования из сырых данных в типовой объект".
вы немного иначе формулируете, но можно сказать и так.
Все же "компиляция на лету" неудачный термин, он скорее относится к работе, скажем циклов вне определений, типа:
CREATE ARRAY 1000 FOR R@ , NEXT
что у меня так же реализовано штатно