Jump to content

Ароматы (язык программирования)

Вкусы , [1] раннее объектно-ориентированное расширение Lisp, разработанное Говардом Кэнноном в Лаборатории искусственного интеллекта Массачусетского технологического института для машины Lisp и ее языка программирования Lisp Machine . Lisp был первым языком программирования, включавшим примеси . [2] Компания Symbolics использовала его для своих машин на Лиспе и в конечном итоге разработала его в New Flavors ; как исходный, так и новый вариант представляли собой объектно-ориентированные модели передачи сообщений . Он оказал огромное влияние на разработку объектной системы Common Lisp (CLOS). [3]

Реализации ароматов также доступны для Common Lisp . [4]

Новые варианты заменили отправку сообщений вызовом универсальных функций .

Предложения вкусов :before и :after демоны с комбинацией методов по умолчанию (называемой :daemon).

Сравнение вкусов и функций CLOS [ править ]

Flavors предлагает несколько функций, которых нет в CLOS:

  • Обертки
  • Автоматический лексический доступ к слотам с использованием переменных внутри методов.
  • Внутренние функции вкуса, макросы и подстановки.
  • Автоматически генерируемые конструкторы.
  • DEFFLAVOR параметры: :required-methods, :abstract-flavor, :mixture.
  • SEND функция отправки сообщений.

CLOS предлагает следующие функции, которых нет во Flavors:

  • Мультиметоды
  • Методы, специализирующиеся на отдельных объектах (через EQL).
  • Методы, специализирующиеся на типах Common Lisp (символ, целое число,...).
  • Методы, специализирующиеся на типах def-struct.
  • Классовые слоты.

Терминология [ править ]

Терминология вкусов
Вкусы ЗАКРЫТЬ
вкус сорт
вкус компонента суперкласс
зависимый вкус подкласс
вкус местных компонентов прямой суперкласс
местный зависимый вкус прямой подкласс
универсальная функция универсальная функция
комбинированный метод эффективный метод
вариант метода квалификатор метода
пример пример
переменная экземпляра слот
заказ вкусовых компонентов список приоритета классов

Ссылки [ править ]

  1. ^ Говард Кэннон, Flavors: неиерархический подход к объектно-ориентированному программированию , Symbolics Inc., 1982.
  2. ^ стр. 46 Томпсона, К.В., Росс, К.М., Теннанта, Х.Р. и Саенс, Р.М., 1983. «Создание удобных для использования интерфейсов естественного языка на основе меню для баз данных». В материалах 9-й международной конференции по очень большим базам данных (31 октября - 2 ноября 1983 г.). М. Школьник и К. Танос, ред. Очень большие базы данных. Издательство Morgan Kaufmann, Сан-Франциско, Калифорния, 43–55.
  3. ^ « Symbolics (1985) использовала New Flavors (модель отправки сообщений, подобную сегодняшней Java), Xerox использовала CommonLoops , Lisp Machine Incorporated использовала Object Lisp (Bobrow, 1986), а Hewlett-Packard предложила использовать Common Objects (Kempf) , 1987). Группы соперничали друг с другом в контексте усилий по стандартизации Common Lisp, и в конце концов остановились на стандарте, основанном на CommonLoops и New Flavors». п. 108 Вейча 1998 г.
  4. ^ Ароматы для Allegro CL
  • Вейч, Джим (1998). «История и описание CLOS». В Салусе, Питер Х. (ред.). Справочник по языкам программирования, том IV: Языки функционального и логического программирования (1-е изд.). Техническое издательство Macmillan. стр. 107–158. ISBN  1-57870-011-6 .

Дальнейшее чтение [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 82fd036c823896730746fe1a04c0988f__1647663840
URL1:https://arc.ask3.ru/arc/aa/82/8f/82fd036c823896730746fe1a04c0988f.html
Заголовок, (Title) документа по адресу, URL1:
Flavors (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)