LE-LISP permite definir objetos estructurados del tipo de los
record en Pascal, los struct en C o los structure en
Fortran. Para ello se usa la primitiva defstruct. Estos objetos
estructurados están formados por un cierto número de campos no tipados.
Se puede definir una estructura como sub-estructura de una precedente, lo
cual permite crear una jerarquía de tipos con herencia. Sin embargo,
no se soportan jerarquías múltiples, aunque ello no
representa una limitación en la práctica, pues este tipo de
herencia plantea numerosos problemas cuando se utiliza. A las
estructuras se les pueden asociar métodos, con lo cual se puede conseguir
encapsulamiento de funciones y datos, al estilo de los object del
Pascal o de las class del C. También se pueden conseguir
polimorfismo definiendo métodos con el mismo nombre en objetos distintos
para realizar acciones similares. La primitiva send permite enviar un mensaje
a un objeto (en el sentido de O.O..).
El sistema se ocupa automáticamente de determinar cual es el método adecuado
que debe aplicar al objeto para satisfacer el mensaje.