История изменений
Исправление korvin_, (текущая версия) :
Затем, что в API к чему-нибудь может быть только map.
А может и не быть.
Именно алгоритм «имея только map, сравнить две коллекции с выходом из по первому несовпадающему элементу, не копируя коллекции» на Common Lisp реализовать нельзя. И хеш-таблицы тут всего лишь иллюстрация.
Ну знаешь. Почему не «имея только lambda» или «имея только +»? Встречный вопрос: как в Racket реализован type-of?
написать на Common Lisp хэш со слабыми ссылками (по ключу и по значению)
сделать реализацию зелёных тредов.
Ну, люди что-то такое делают. Не знаю насчёт качества, но это никак не тянет на «невозможно».
Встречный вопрос: в Racket это всё реализовано средствами базовой Scheme с помощью продолжений или это вшито в базовый Racket?
Исходная версия korvin_, :
Затем, что в API к чему-нибудь может быть только map.
А может и не быть.
Именно алгоритм «имея только map, сравнить две коллекции с выходом из по первому несовпадающему элементу, не копируя коллекции» на Common Lisp реализовать нельзя. И хеш-таблицы тут всего лишь иллюстрация.
Ну знаешь. Почему не «имея только lambda» или «имея только +»? Встречный вопрос: как в Racket реализован type-of?
написать на Common Lisp хэш со слабыми ссылками (по ключу и по значению)
сделать реализацию зелёных тредов.
Ну, люди что-о такое делают. Не знаю насчёт качества, но это никак не тянет на «невозможно».
Встречный вопрос: в Racket это всё реализовано средствами базовой Scheme с помощью продолжений или это вшито в базовый Racket?