История изменений
Исправление quasimoto, (текущая версия) :
Вот её бы в стандарт внесли
Сначала нужно разрешить дихотомию встроенных типов с deftype и CLOS типов, тогда можно сделать generic first для класса list и вместо (list:first object) писать просто (first object) - для динамических объектов будет обычная динамическая диспетчеризация CLOS, а для символов с известным синтаксическим типом - статическая, то есть просто вызов функции.
Исправление quasimoto, :
Вот её бы в стандарт внесли
Сначала нужно разрешить дихотомию встроенных типов с deftype и CLOS типов, тогда можно сделать generic first для класса list и вместо (list:first object) писать просто (first object) - для динамических объектов будет обычная динамическая диспетчеризация CLOS, для объектов с известным синтаксическим типом - статическая, то есть просто вызов функции.
Исправление quasimoto, :
Вот её бы в стандарт внесли
Сначала нужно разрешить дихотомию встроенных типов с deftype и CLOS типов, тогда можно сделать generic first для класса list и вместо (list:first object) писать просто (first object) - для динамических объектов будет обычная диспетчеризация CLOS, для объектов с известным синтаксическим типом - статическая, то есть просто вызов функции.
Исходная версия quasimoto, :
Вот её бы в стандарт внесли
Сначала нужно разрешить дихотомию встроенных типов с deftype и CLOS типов, тогда можно сделать generic first для класса list и вместо (list:first object) писать просто (list object) - для динамических объектов будет обычная диспетчеризация CLOS, для объектов с известным синтаксическим типом - статическая, то есть просто вызов функции.