Articulo de referencia

Sabores (lenguaje de programación)

Flavors [ 1 ] es 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...

Flavors [ 1 ] es 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 . Es notable por ser el primer lenguaje de programación en incluir mixins . [ 2 ] Symbolics lo usó para sus máquinas Lisp y finalmente lo desarrolló en New Flavors ; tanto el Flavors original como el nuevo eran modelos OO de paso de mensajes . Fue enormemente influyente en el desarrollo del Common Lisp Object System (CLOS). [ 3 ]

También existen implementaciones de Flavors disponibles para Common Lisp . [ 4 ]

Los nuevos sabores sustituyeron el envío de mensajes por la llamada a funciones genéricas .

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

Comparación de sabores y características CLOS

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

  • Envoltorios
  • Acceso léxico automático a ranuras mediante variables dentro de los métodos.
  • Funciones internas del sabor, macronutrientes y sustitutos.
  • Constructores generados automáticamente.
  • DEFFLAVORopciones: :required-methods, :abstract-flavor, :mixture.
  • SENDFunción para enviar mensajes.

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

  • Métodos múltiples
  • Métodos especializados en objetos individuales (a través de EQL).
  • Métodos especializados en tipos de Common Lisp (símbolo, entero, ...).
  • Métodos especializados en tipos def-struct.
  • Plazas de clase.

Terminología

Referencias

  1. Howard Cannon, Flavors: Un enfoque no jerárquico para la programación orientada a objetos , Symbolics Inc., 1982
  2. pág. 46 de Thompson, CW, Ross, KM, Tennant, HR y Saenz, RM 1983. «Building Usable Menu-Based Natural Language Interfaces To Databases». En Actas de la 9.ª 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) utilizaba New Flavors (un modelo de envío de mensajes, como Java hoy en día), Xerox utilizaba CommonLoops , Lisp Machine Incorporated utilizaba Object Lisp (Bobrow, 1986) y Hewlett-Packard propuso utilizar 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 decidieron por un estándar basado en CommonLoops y New Flavors." pág. 108 de Veitch 1998.
  4. Sabores para Allegro CL
  • Veitch, Jim (1998). «Historia y descripción de CLOS». En Salus, Peter H. (ed.). Manual de lenguajes de programación, Volumen IV: Lenguajes de programación funcional y lógica (1.ª  ed.). Macmillan Technical Publishing. pp. 107–158 . ISBN  1-57870-011-6.

Lecturas adicionales

  • Moon, David A. (junio de 1986). «Programación orientada a objetos con variantes» (PDF) . Actas de la conferencia sobre lenguajes, sistemas y aplicaciones de programación orientada a objetos . OOPSLA '86. págs. 1-8 . doi : 10.1145/28697.28698 . ISBN  978-0-89791-204-4. S2CID 17150741 . Consultado el 17 de marzo de 2022 . 
  • "Sabores, Informe Técnico", Laboratorio de Inteligencia Artificial del MIT , Cambridge (Massachusetts), 1980
  • Daniel Weinreb y David A. Moon , "Sabores: Paso de mensajes en la máquina Lisp" , Memorando de IA n.° 602, noviembre de 1980, Laboratorio de IA del MIT
Obtenido de " https://en.wikipedia.org/w/index.php?title=Flavors_(programming_language)&oldid=1292136285 "