А.П. писал(а):
Предлагаю познакомиться при личной встрече
Александр Ильин писал(а):
Поддерживаю предложение А.П. о встрече
Предложение принимается. Вокруг так много людей, а поговорить о наболевшем практически не с кем

. Подробности в личных сообщениях и немного позже, сначала надо уладить кое-какие дела.
Oberon-community имеет широкую географию. Приятно было увидеть сразу несколько томичей. Ещё приятнее пополнить эти ряды.
Александр Ильин писал(а):
Я так понимаю, что в первом случае константа имеет тип CHAR, а во втором случае ARRAY OF CHAR. Значение LEN(CHAR) не определено в описании языка, так что по-хорошему компилятор должен выдавать ошибку.
Вы правы, Александр, в первом случае константа имеет тип CHAR. Но от себя добавлю, что должна была бы иметь тип ARRAY OF CHAR, точнее тип цепочек литер. Строки в КП - хороший пример того, как тип переменной может не совпадть с типом значения, хранящегося в этой переменной. И насчёт переменных, здесь я не оговорился, потому что строковые константы в КП всегда реализованы как "переменные только для чтения" и никогда не размещаются компилятором непосредственно в коде (immediate data), в отличие от констант других типов.
В пользу того, что это всё-таки ошибка говорит тот факт, что в v1.6 она исправлена, как справедливо заметил PGR.
Я кажется понял механизм того, как возникла эта ошибка. Разработчики, помятуя о том, что
Цитата:
Цепочка длины 1 может использоваться всюду, где разрешена литерная константа, и наоборот.
привели цепочки длины один в соответствие с литерной константой. А нужно было наоборот: привести литерные константы в соответствие с литерными цепочками длины 1. А это, как мы видим, не одно и то же.