SlideShare una empresa de Scribd logo
Lenguaje Lisp
Alrededor de 1956 McCarthy entendió el papel central de un lenguaje de
programación para su objetivo científico - la inteligencia artificial.
Un trabajo consultor en 1957 le permitió experimentar con una combinación de
notación algebraica (como esto es usado en el lenguaje FORTRAN para describir el
cómputo aritmético).
El experimento era acertado y la idea se hizo para él una base de pensamiento.
Él analizó lenguajes de programación existentes más profundamente (usando el
lenguaje FORTRAN como el modelo) y comenzó a pedir el nuevo medio de expresión.
Antes de septiembre de 1958, McCarthy había propuesto crear una nueva Lengua
Internacional Algorítmica
Características
Interactivo (usualmente)
Los datos en LISP son muy restringidos:
Átomos literales (símbolos)
Átomos numéricos
La estructura de datos básica es la lista. Incluye primitivas para su
manipulación.
Los comentarios comienzan por ‘;’
Los parámetros de función van todos por valor o por referencia según la
clasificación de la función.
LISP es interpretado y usa una estructura de gestión de almacenamiento en
montículo con recolección de basura como almacenamiento primario para datos
y programas.
Estructura/Objetos de datos
Tipos de datos primitivos: átomos. Cada átomo tiene una lista de
propiedades asociada, accesible a través del puntero que almacena el nombre
del átomo.
No se distinguen may-min para identificadores.
Tipos de datos estructurado: listas. Tienen asociado un puntero al primer
elemento (car) y otro al elemento siguiente (cdr). Una lista vacía apunta a nil.
Para la asignación se utiliza setq(x val). Representación y almacenamiento.
Cada descriptor de un objeto de datos proporciona tipo y atributos.
En los datos estructurados (listas) se tienen sólo punteros a primero y a
siguiente.
El traductor LISP es una función read() que toma el fuente del fichero y lo interpreta.
La ejecución del programa consiste en la evaluación de las funciones contenidas en
el mismo.
Operaciones sobre átomos (en preorden): +, -, *, /
Operaciones sobre listas: cons, car, cdr, list, replace, null, equal.
Entrada y salida: open(), read(), print().
Definición de funciones: defun, define.
Estructura/Control de secuencia
• Tres clases de funciones:
1. Función interpretada, en forma de estructura de listas. Primitivas
eval y apply.
2. Función compilada, compiladas en un bloque de código máquina
que puede ser ejecutado por el interprete del hardware.
3. Macro, se declara con define. Es simplemente una función
ordinaria en LISP. Puede ser interpretada y compilada.
Estructura/ Gestión de subprogramas
o La memoria se estructura en forma de montículo, que
maneja unidades de una palabra de tamaño fijo usando
una lista de espacios libres y un recolector de basura.
o Entorno de referencia:
1. Local, es el que se da en las listas, como asociaciones
de átomos relacionados de una determinada manera.
2. Global o común, se consigue mediante asociación de
un átomo con una propiedad del mismo que contiene
un puntero al datos referenciado. Se usa set y setq.
Estructura/Gestión de
almacenamiento
• Paso de parámetros:
1. Transmisión por valor, consiste en evaluar las
expresiones de una lista de parámetros y transmitir los
valores resultantes.
2. Transmisión por nombre, transmitir las expresiones de la
lista de parámetros sin evaluar, y dejar que la función
llamada los evalue usando eval.
Estructura/Gestión de
almacenamiento
Funciones en Lisp
Funciones normales, son las que se suelen incluir en las
implementaciones de LISP
Funciones de lista, para manipulación de listas:
– car L, devuelve el primer elemento de L.
– cdr L, devuelve la cola (lista - primero).
– cons x y, devuelve uan lista formada por x e y.
– list x y z, devuelve la lista (x y z).
– quote x, no se evalúa x.
• Predicados
– atom x, devuelve True si x es un átomo.
– numberp x, devuelve True si x es un número.
– greaterp x y, devuelve True si x>y.
– lessp x y, devuelve True si x<y.
– null x, devuelve True si x es nulo.
– and x y, devuelve x and y.
– or x y, devuelve x or y.
– not x, devuelve not x.
– eq x y, devuelve True si x=y.
• Funciones aritméticas:
– +, -, *, y /.
– rem x y, devuelve el módulo x/y (remainder).
• Funciones de entrada y salida
– load nombrearchivo, lee el archivo a memoria.
– print x, imprime el elemento x.
– open nombrearchivo, abre un archivo y devuelve una
puntero al mismo.
– read, lee del terminal un átomo.
– help, proporciona ayuda.
– trace, traza la función.
– bye, termina LISP.
EJEMPLO DEL LENGUAJE LISP
EJEMPLO DEL LENGUAJE LISP
CONCLUSION
LISP ha evolucionado durante más de 30 años y
desarrollado para inteligencia artificial, pero no es
adecuado para aplicaciones convencionales.
Las versiones compiladas son algo más eficientes.
Es un lenguaje muy estricto poco convencional en el
sentido comercial. Se frecuenta mas a lo científico
(Inteligencia Artificial)y se deriva de Fortran y su estructura
se maneja de un lista inicio o final (cabeza cola)

Más contenido relacionado

PPTX
PPTX
Fundamentos de Programación - Unidad V: Modularidad
PDF
Arboles de derivacion
PPTX
Toma de decisiones If Else
PDF
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
PPTX
Matrices
PPTX
Gramáticas formales
PPTX
PAGINACION Y SEGMENTACION DE MEMORIA
Fundamentos de Programación - Unidad V: Modularidad
Arboles de derivacion
Toma de decisiones If Else
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Matrices
Gramáticas formales
PAGINACION Y SEGMENTACION DE MEMORIA

La actualidad más candente (20)

PDF
PDF
paradigmas_de_programacao.pdf
PDF
Prolog ejercicios resueltos
PPTX
Polimorfismo ppt
PPT
Manejo de memoria
PDF
Autómatas Finitos
PPTX
Historia de los lenguajes de programación power point
DOCX
Ejemplos de Pseudocodigos!!
PPTX
Programacion orientada a objetos - unidad 3 herencia
PPTX
Memoria Estatica
 
PPTX
Diagrama de Flujo y Pseudocodigo.pptx
PDF
Alfabetos-Lenguajes y Automatas 1
PPT
PARADIGMA FUNCIONAL
PPTX
Arreglos c++
PDF
Introduccion Analisis Algoritmos
PPTX
Paradigmas de programación
PPTX
Proceso unificado de desarrollo de software
PDF
Clase10 ejemplos asm con tasm y tlink
DOC
Registros del procesador 01
paradigmas_de_programacao.pdf
Prolog ejercicios resueltos
Polimorfismo ppt
Manejo de memoria
Autómatas Finitos
Historia de los lenguajes de programación power point
Ejemplos de Pseudocodigos!!
Programacion orientada a objetos - unidad 3 herencia
Memoria Estatica
 
Diagrama de Flujo y Pseudocodigo.pptx
Alfabetos-Lenguajes y Automatas 1
PARADIGMA FUNCIONAL
Arreglos c++
Introduccion Analisis Algoritmos
Paradigmas de programación
Proceso unificado de desarrollo de software
Clase10 ejemplos asm con tasm y tlink
Registros del procesador 01
Publicidad

Destacado (9)

PPTX
lenguaje lisp
PPTX
Introduccion a los lenguajes de programacion para Inteligencia Artificial
PPT
02-Unidad 1 Generalidades de la Inteligencia Artificial
PPTX
Árboles de decisión y listas
PPTX
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
PPS
Proyecto Areas Inteligencia Artificial Javier Garcia
PPTX
Justificación y objetivos de la investigación contable de
PPT
PDF
Prácticas Autocad
lenguaje lisp
Introduccion a los lenguajes de programacion para Inteligencia Artificial
02-Unidad 1 Generalidades de la Inteligencia Artificial
Árboles de decisión y listas
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Proyecto Areas Inteligencia Artificial Javier Garcia
Justificación y objetivos de la investigación contable de
Prácticas Autocad
Publicidad

Similar a Lenguaje Lisp (20)

PPT
Curso lisp
PPTX
Cálculo proposicional y de predicados
PDF
LISP
PDF
Manual programacion-lisp
PDF
Manual programacion-lisp
PPTX
PPTX
Software progreamaciòn logica
PPTX
Software progreamaciòn logica
PDF
Calculo en grupo ---- motato -tenelema__carvache__p_roaño
PPTX
Lenguajes de programación lógica
PPTX
introduccion lenguajes de_programacion.pptx
PPTX
Pteg i-grupo5- cap 6-lenguaje de programacion
PPTX
Pteg i-grupo5- cap 6-lenguaje de programacion
PPTX
Clasificacion de los lenguales de programacion
PDF
Apunte del Lenguaje LISP
PPTX
Lenguajes de programación lógica
PPTX
Lenguaje de programacion mike alvarado
PDF
Lenguajes de programación
DOCX
Lenguaje de programación
PDF
39661139-Manual-AutoLisp.pdf
Curso lisp
Cálculo proposicional y de predicados
LISP
Manual programacion-lisp
Manual programacion-lisp
Software progreamaciòn logica
Software progreamaciòn logica
Calculo en grupo ---- motato -tenelema__carvache__p_roaño
Lenguajes de programación lógica
introduccion lenguajes de_programacion.pptx
Pteg i-grupo5- cap 6-lenguaje de programacion
Pteg i-grupo5- cap 6-lenguaje de programacion
Clasificacion de los lenguales de programacion
Apunte del Lenguaje LISP
Lenguajes de programación lógica
Lenguaje de programacion mike alvarado
Lenguajes de programación
Lenguaje de programación
39661139-Manual-AutoLisp.pdf

Más de Marcos Omar Cruz Ortrega (18)

PDF
Cruzsoft Project Manager
PDF
Ingenieria de software. (mitos, leyendas y factores)
PDF
El Chipset - Ensayo
PDF
Biblioteca Virtual - PSP
PDF
Ensayo (direccionamiento de memoria)
PDF
Comunicaciones Moviles
PDF
Programacion de puertos e interrupciones
PDF
Electroestatica
PDF
Concepto y extensiones de negocio de Eriksson Penker
PDF
Mantenimiento de software (síntesis)
PDF
Algebra Booleana
PDF
Usuarios y Administradores en DB
PDF
Inductancia magnetica
PDF
¿La usabilidad esconde el éxito en el desarrollo de un software?
PDF
2-Proyectos de electronica
PDF
¿Cual sera el verdadero negocio de facebook?
PDF
Cruzsoft Magazine #0
PDF
Fundamentos de redes y topologias
Cruzsoft Project Manager
Ingenieria de software. (mitos, leyendas y factores)
El Chipset - Ensayo
Biblioteca Virtual - PSP
Ensayo (direccionamiento de memoria)
Comunicaciones Moviles
Programacion de puertos e interrupciones
Electroestatica
Concepto y extensiones de negocio de Eriksson Penker
Mantenimiento de software (síntesis)
Algebra Booleana
Usuarios y Administradores en DB
Inductancia magnetica
¿La usabilidad esconde el éxito en el desarrollo de un software?
2-Proyectos de electronica
¿Cual sera el verdadero negocio de facebook?
Cruzsoft Magazine #0
Fundamentos de redes y topologias

Último (20)

PDF
Teoría de estadística descriptiva y aplicaciones .pdf
PPTX
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
PPTX
ccna: redes de nat ipv4 stharlling cande
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
PDF
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
DOCX
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
PDF
NREN - red nacional de investigacion y educacion en LATAM y Europa: Caracteri...
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PDF
Taller tecnológico Michelle lobo Velasquez
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
PPTX
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
PPTX
ccna: redes de nat ipv4 stharlling cande
PPTX
Control de calidad en productos de frutas
PPTX
El uso de las TIC en la vida cotidiana..
PDF
MANUAL de recursos humanos para ODOO.pdf
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PPTX
Curso de generación de energía mediante sistemas solares
Teoría de estadística descriptiva y aplicaciones .pdf
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
ccna: redes de nat ipv4 stharlling cande
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
TRABAJO DE TECNOLOGIA.pdf...........................
Mecanismos-de-Propagacion de ondas electromagneticas
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
NREN - red nacional de investigacion y educacion en LATAM y Europa: Caracteri...
Historia Inteligencia Artificial Ana Romero.pptx
Taller tecnológico Michelle lobo Velasquez
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
ccna: redes de nat ipv4 stharlling cande
Control de calidad en productos de frutas
El uso de las TIC en la vida cotidiana..
MANUAL de recursos humanos para ODOO.pdf
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
Curso de generación de energía mediante sistemas solares

Lenguaje Lisp

  • 2. Alrededor de 1956 McCarthy entendió el papel central de un lenguaje de programación para su objetivo científico - la inteligencia artificial. Un trabajo consultor en 1957 le permitió experimentar con una combinación de notación algebraica (como esto es usado en el lenguaje FORTRAN para describir el cómputo aritmético). El experimento era acertado y la idea se hizo para él una base de pensamiento. Él analizó lenguajes de programación existentes más profundamente (usando el lenguaje FORTRAN como el modelo) y comenzó a pedir el nuevo medio de expresión. Antes de septiembre de 1958, McCarthy había propuesto crear una nueva Lengua Internacional Algorítmica
  • 3. Características Interactivo (usualmente) Los datos en LISP son muy restringidos: Átomos literales (símbolos) Átomos numéricos La estructura de datos básica es la lista. Incluye primitivas para su manipulación. Los comentarios comienzan por ‘;’ Los parámetros de función van todos por valor o por referencia según la clasificación de la función. LISP es interpretado y usa una estructura de gestión de almacenamiento en montículo con recolección de basura como almacenamiento primario para datos y programas.
  • 4. Estructura/Objetos de datos Tipos de datos primitivos: átomos. Cada átomo tiene una lista de propiedades asociada, accesible a través del puntero que almacena el nombre del átomo. No se distinguen may-min para identificadores. Tipos de datos estructurado: listas. Tienen asociado un puntero al primer elemento (car) y otro al elemento siguiente (cdr). Una lista vacía apunta a nil. Para la asignación se utiliza setq(x val). Representación y almacenamiento. Cada descriptor de un objeto de datos proporciona tipo y atributos. En los datos estructurados (listas) se tienen sólo punteros a primero y a siguiente.
  • 5. El traductor LISP es una función read() que toma el fuente del fichero y lo interpreta. La ejecución del programa consiste en la evaluación de las funciones contenidas en el mismo. Operaciones sobre átomos (en preorden): +, -, *, / Operaciones sobre listas: cons, car, cdr, list, replace, null, equal. Entrada y salida: open(), read(), print(). Definición de funciones: defun, define. Estructura/Control de secuencia
  • 6. • Tres clases de funciones: 1. Función interpretada, en forma de estructura de listas. Primitivas eval y apply. 2. Función compilada, compiladas en un bloque de código máquina que puede ser ejecutado por el interprete del hardware. 3. Macro, se declara con define. Es simplemente una función ordinaria en LISP. Puede ser interpretada y compilada. Estructura/ Gestión de subprogramas
  • 7. o La memoria se estructura en forma de montículo, que maneja unidades de una palabra de tamaño fijo usando una lista de espacios libres y un recolector de basura. o Entorno de referencia: 1. Local, es el que se da en las listas, como asociaciones de átomos relacionados de una determinada manera. 2. Global o común, se consigue mediante asociación de un átomo con una propiedad del mismo que contiene un puntero al datos referenciado. Se usa set y setq. Estructura/Gestión de almacenamiento
  • 8. • Paso de parámetros: 1. Transmisión por valor, consiste en evaluar las expresiones de una lista de parámetros y transmitir los valores resultantes. 2. Transmisión por nombre, transmitir las expresiones de la lista de parámetros sin evaluar, y dejar que la función llamada los evalue usando eval. Estructura/Gestión de almacenamiento
  • 9. Funciones en Lisp Funciones normales, son las que se suelen incluir en las implementaciones de LISP Funciones de lista, para manipulación de listas: – car L, devuelve el primer elemento de L. – cdr L, devuelve la cola (lista - primero). – cons x y, devuelve uan lista formada por x e y. – list x y z, devuelve la lista (x y z). – quote x, no se evalúa x.
  • 10. • Predicados – atom x, devuelve True si x es un átomo. – numberp x, devuelve True si x es un número. – greaterp x y, devuelve True si x>y. – lessp x y, devuelve True si x<y. – null x, devuelve True si x es nulo. – and x y, devuelve x and y. – or x y, devuelve x or y. – not x, devuelve not x. – eq x y, devuelve True si x=y. • Funciones aritméticas: – +, -, *, y /. – rem x y, devuelve el módulo x/y (remainder).
  • 11. • Funciones de entrada y salida – load nombrearchivo, lee el archivo a memoria. – print x, imprime el elemento x. – open nombrearchivo, abre un archivo y devuelve una puntero al mismo. – read, lee del terminal un átomo. – help, proporciona ayuda. – trace, traza la función. – bye, termina LISP.
  • 14. CONCLUSION LISP ha evolucionado durante más de 30 años y desarrollado para inteligencia artificial, pero no es adecuado para aplicaciones convencionales. Las versiones compiladas son algo más eficientes. Es un lenguaje muy estricto poco convencional en el sentido comercial. Se frecuenta mas a lo científico (Inteligencia Artificial)y se deriva de Fortran y su estructura se maneja de un lista inicio o final (cabeza cola)