De Wikipedia, la enciclopedia libre
Ir a navegaciónSaltar a buscar

Flavours , [1] una extensión temprana orientada a objetos de Lisp desarrollada por Howard Cannon en el Laboratorio de Inteligencia Artificial del MIT para la máquina Lisp y su lenguaje de programación Lisp Machine Lisp , fue el primer lenguaje de programación en incluir mixins . [2] Symbolics lo usó para sus máquinas Lisp, y eventualmente lo desarrolló en New Flavors ; tanto el Flavour original como el nuevo eran modelos de OO que pasaban mensajes . Tuvo una gran influencia en el desarrollo del Common Lisp Object System (CLOS). [3]

Las implementaciones de Flavours también están disponibles para Common Lisp . [4]

New Flavors reemplazó el envío de mensajes con llamadas a funciones genéricas .

Flavours ofrece :beforey :afterdemonios con la combinación de métodos predeterminada (llamada :daemon).

Comparación de características de sabores y CLOS

Flavours ofrece algunas características que no se encuentran en CLOS:

  • Envoltorios
  • Acceso léxico automático a las ranuras utilizando variables dentro de los métodos.
  • Funciones de sabor internas, macros y substs.
  • Constructores generados automáticamente.
  • DEFFLAVOROpciones: :required-methods, :abstract-flavor, :mixture.
  • SEND función para enviar mensajes.

CLOS ofrece las siguientes características que no se encuentran en Flavors:

  • Multimétodos
  • Métodos especializados en objetos individuales (vía EQL).
  • Métodos especializados en tipos Common Lisp (símbolo, entero, ...).
  • Métodos especializados en tipos de def-estructura.
  • Espacios de clase.

Terminología

Referencias

  1. ^ Howard Cannon, Flavours: Un enfoque no jerárquico de la programación orientada a objetos , Symbolics Inc., 1982
  2. ^ página 46 de Thompson, CW, Ross, KM, Tennant, HR y Saenz, RM 1983. "Creación de interfaces de lenguaje natural basadas en menús utilizables para bases de datos". En Actas de la Novena Conferencia Internacional sobre Bases de Datos Muy Grandes (31 de octubre - 2 de noviembre de 1983). M. Schkolnick y C. Thanos, Eds. Bases de datos muy grandes. Morgan Kaufmann Publishers, San Francisco, CA, 43–55.
  3. ^ " Symbolics (1985) estaba usando New Flavors (un modelo de envío de mensajes, como Java hoy), Xerox usaba CommonLoops , Lisp Machine Incorporated usaba Object Lisp (Bobrow, 1986) y Hewlett-Packard propuso usar Common Objects (Kempf , 1987). Los grupos compitieron entre sí en el contexto del esfuerzo de estandarización que se estaba llevando a cabo para Common Lisp en ese momento y finalmente se establecieron en un estándar basado en CommonLoops y New Flavors ". pag. 108 de Veitch 1998.
  4. ^ Sabores para Allegro CL
  • "Una historia y descripción de CLOS", por Jim Veitch. Páginas 107–158 del Manual de lenguajes de programación, Volumen IV: Lenguajes de programación lógicos y funcionales , ed. Peter H. Salus . 1998 (1ª edición), Macmillan Technical Publishing; ISBN  1-57870-011-6

Lectura adicional