Murkt> Введение новых операций в язык - это изменение синтаксиса. Если мы изменяем синтаксис, то нам, понятное дело, нужно как-то определить порядок. Но это уже в другую степь.
А ты посмотри всё-таки Алгол 68.

Там это делается всё средствами языка. Для описания языка, правда, применяются мета-грамматики, которые генерят грамматики, которые описывают язык.
Murkt> Это доведение до абсурда - во-первых, строки друг на друга не умножаются;
С чего ты взял? Кто мешает тракторвать строки как множества и определить умножение как пересечение? Возьми битовое И и получишь именно это.
Murkt> а во-вторых умножение всегда должно быть выше приоритетом, чем сложение, чтобы не сбивать именно человека с толку.
Ты мыслишь в пределах арифметики. Однако посмотри шире и для определения всяких групп, колец, полей вводятся свои пару операций, на которые накладываются условия, а потом и приоритеты (часто не явно). Возьми Булеву Алгебру — там умножение и сложение тоже с приоритетами, но правила совсем другие, чем в арифметике. Можно называть это умножением и сложением и оставить приоритеты, но прямой аналогии нет. Приоритеты ввели для того, чтобы был однозначный результат. Польская запись его тоже обеспечивает. При разложении в машинные коды приоритет определяется потоком команд.
Murkt> Я ведь говорю именно о возможностях для улучшения читаемости кода, а такие финты (умножение строк, например) эту самую читаемость улучшить не могут.
А почему ты отвергаешь создание людьми своего прикладного языка — с теми правилами, которые более привычны для них. В Ленинграде у Терехова, к примеру, создали язычок на Алголе 68 для микропрограммирования. В результате система команд процессора переписывалась на раз даже студентом, который был "в деле" за пару недель. Минчане (те, которые пытались делать это для ЕС ЭВМ) не верили, пока не поспорили с Тереховым на коньяк и студент Игорь (сейчас в Райли, Северная Королина) сделал по их заказу новую систему и показал на железе. Было очень удобно.