Ir al contenido

Common Lisp Object System

De Wikipedia, la enciclopedia libre

Esta es una versión antigua de esta página, editada a las 19:50 28 dic 2006 por Jjmarin (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

(difs.) ← Revisión anterior · Ver revisión actual (difs.) · Revisión siguiente → (difs.)

CLOS es el acrónimo inglés de Common Lisp Object System y es una extensión de ANSI Common Lisp para permitir la programación orientada a objetos que ha sido adoptada por otros dialectos de Lisp como EuLisp o Emacs Lisp[1]​. Inicialmente fue propuesta como un añadido del lenguaje, pero posteriormente CLOS fue adoptado como parte de estándar ANSI de Common Lisp. CLOS es un lenguaje de programación dinámico dirigido a objetos que difiere mucho de lo que podemos encontrar en lenguajes de programación estáticos orientados a objetos como C++ o Java. CLOS está inspirado en sistemas Lisp orientados a objetos anteriores como MIT Flavors o Common LOOPS, aunque es más genérico que éstos. Precisamente la generalidad de CLOS es la carácterística más dificil de obtener, aunque crear un sistema OO en Lisp es fácil:

Conseguir que Lisp sea orientado a objetos es fácil: se puede hacer en tan sólo dos páginas de código (Paul Graham, 1994). Pero hacer que Lisp sea orientado a objetos y a la vez tan extensible y flexible como el resto de sistema Lisp es más complicado. A pesar de que CLOS es un completo sistema de orientado a objetos, CLOS se implementa siguiendo el modelo de la programación orientada a objetos. La implementación orientada a objetos de CLOS se conoce como CLOS Metaobject Protocol o MOP y permite que el sistema sea extensible y personalizable.[2]

  1. "CLOS is a standard. Multiple vendors supply CLOS. CLOS (or parts of it) is being used to add object orientation to other Lisp dialects such as EuLisp or Emacs Lisp." pg 110 of Veitch 1998
  2. pg 108 of Veitch 1998