Тут на форуме второй раз поднимается тема диффа с расстоянием Левенштейна, в связи с чем я вспомнил, что писал как-то подобную функцию на Racket для тренажера азбуки морзе, чтобы оценивать количество ошибок. Только у меня не расстояние Левенштейна, а немного более «умная» функция.
Подправил для более универсального применения, получилась функция для диффа списков: https://github.com/punzik/scheme-list-diff
Протестировать можно так:
$ racket list-diff-test.rkt connect conehead
Disclaimer:
Не пытайтесь сравнивать списки длиной более 500 элементов, не хватит памяти! На полутора тысячах оно отожрало 30 гиг и было убито oom-киллером 👍