On Mon, Oct 11, 2021 at 1:11 PM Mike Potanin mpotanin_AT_gmail.com < refal@botik.ru> wrote:
> Научить суперкомпилятор функциям высших порядков > будет не просто, а сделать еще пакет для суперкомпилятора было бы полезно. > Суперкомпилировать язык с функциями высшего порядка – в первом приближении нет проблем: можно это делать «в лоб», держа в голове какие-нибудь представление замыканий на языке первого порядка, либо даже скомпилировать высший порядок в первый и применить старый суперкомпилятор. На хлеб мазаться...[зачеркнуто] Суперкомпилировать будет. Однако, используя такой суперкомпилятор, заметите одну проблему: обобщение по наивному краскаллическому свистку будет часто казаться преждевременным. Возникнет соблазн сделать его более «тонким», пореже сваливая в одну кучу слишком разные конфигурации с замыканиями. Попытавшись сделать свисток более «тонким», будем сваливаться в незавершаемость. И тут вам в помощью диссертация и соответствующая серия статей Ильи Ключникова под рук. Сергея Романенко. См. публикации на странице Ильи: - https://pat.keldysh.ru/~ilya/ Илья получил удивительный результат: - Предложил свисток на достаточно естественном «более тонком» гомеоморфном вложении, которое по классической теории не является well-quasi-order, то есть согласно ей такой свисток не является завершающим. - Обнаружил и доказал, что в множестве конфигураций, возникающих в процессе прогонки в суперкомпиляторе, этот свисток является завершающим. Мне в этом результате нравится, что он получен там, где предшественники не задумываясь считали, что ничего не получится. В истории науки такие примеры – самые красивые и интригующие. Всего наилучшего, Андрей Климов >