LINUX.ORG.RU

История изменений

Исправление den73, (текущая версия) :

Забавно, но если я вменяем, то в SBCL неправильно реализована вариантность для функциональных типов:

(subtypep '(function (integer) t) '(function (t) t) )
T
T
Т.е., по их мнению, «любая функция, отображающая целое на объект, является также функцией, отображающей объект на объект», , хотя в действительности «любая функция, отображающая объект на объект также является функцией, отображающей целое на объект».

Объект aka тип t в лиспе - это любой объект, в т.ч. и целое является подтипом t.

Написал в sbcl-devel, но похоже, что я и их уже достал, и они меня игнорируют :)

Исправление den73, :

Забавно, но если я вменяем, то в SBCL неправильно реализована ковариантность для функциональных типов:

(subtypep '(function (integer) t) '(function (t) t) )
T
T
Т.е., по их мнению, «любая функция, отображающая целое на объект, является также функцией, отображающей объект на объект», , хотя в действительности «любая функция, отображающая объект на объект также является функцией, отображающей целое на объект».

Объект aka тип t в лиспе - это любой объект, в т.ч. и целое является подтипом t.

Написал в sbcl-devel, но похоже, что я и их уже достал, и они меня игнорируют :)

Исходная версия den73, :

Забавно, но если я вменяем, то в SBCL неправильно реализована ковариантность для функциональных типов:

(subtypep '(function (integer) t) '(function (t) t) )
T
T
Т.е., по их мнению, «любая функция, отображающая целое на что-то, является также функцией, отображающей что-то на что-то», хотя в действительности «любая функция, отображающая что-то на что-то также является функцией, отображающей целое на что-то». Написал в sbcl-devel, но похоже, что я и их уже достал, и они меня игнорируют :)