Diferencia entre revisiones de «Programación en LISP»

Contenido eliminado Contenido añadido
mSin resumen de edición
MABot (discusión | contribs.)
m robot Añadido: fr, ja, ru Modificado: en, it; cambios triviales
Línea 1:
=Prólogo=
== Introducción ==
{{Wikipedia|Lisp}}
 
Línea 9:
Cuando se quiere implementar un problema en Lisp, éste se realiza escribiendo lo que se quiere conseguir y como, pero sin indicar paso a paso la secuencia de acciones que la computadora debe de realizar. Esta filosofía aunque parezca extraña, seguro que muchos programadores ya la han usado, ya que existen otros lenguajes declarativos como puedan ser el Prolog, Perl e incluso el mismo SQL. En estos lenguajes especificamos el qué queremos obtener sin preocuparnos del cómo.
 
== Objetivos ==
 
Pues como he comentado antes, estamos hartos de encontrar siempre casi toda la documentación disponible en un idioma que no nos interesa, puesto que todas las culturas deben proteger su legado y defenderse ante la invasión lingüística que estamos padeciendo ante el mundo anglosajón, que parece no darse cuenta que ellos no están solos en este mundo. Por eso, y aunque no predique mucho con el ejemplo, animo a los demás escritores que publiquen y traduzcan en sus propios idiomas y que liberen el saber, para dejarlo más accesible al resto del mundo.
Así que como habéis podido observar, lo que simplemente pretendemos en este manual es, crear un manual legible para todo el mundo de habla hispana, explicar el lenguaje lisp, que a mi juicio es complicado de entender, y construir un manual del mismo lenguaje que sea la envidia de los manuales en inglés que podemos encontrar en la red.
 
= Características del lenguaje =
En su notación, las expresiones están expresadas de forma prefija, estando estas cerradas entre paréntesis.
 
Línea 28:
</pre>
 
= Declarar funciones =
Al igual que otros lenguajes de programación, en Lisp podemos declarar funciones para modularizar los programas y hacerlos más legibles en la medida de lo posible, reutilizando así código escrito y separando distintas partes del problema a representar en módulos.
 
Línea 42:
</pre>
 
= Palabras reservadas =
 
== car ==
 
Devuelve el primer elemento de una lista
Línea 54:
</pre>
 
== cdr ==
Devuelve la lista sin su primer elemento
 
Línea 64:
</pre>
 
== cond ==
La palabra cond ejecuta un flujo de control dependiendo de la condición si es cierta o no. Es algo parecido al switch de {{libro|Programación en C|C}}/{{libro|Programación en C Más Más|C++}}, {{libro|Programación en Java|Java}}, {{libro|Programación:C sharp NET|C<nowiki>#</nowiki> .NET}}, etc.. pero con la diferencia que en este caso lo que se pone en los case son condiciones lógicas y no constantes.
 
Línea 82:
</pre>
 
== cons ==
Añade al principio de una lista dada un elemento
 
Línea 92:
</pre>
 
== defun ==
Define una función con un nombre el cual será llamado mediante el comando (nombre-funcion args) y que tiene como argumentos una lista de variables. El cuerpo es una lista que define qué hace la función y es ésta la que ejecuta la acción.
 
Línea 106:
</pre>
 
== endp ==
Cierto (T, de true) si la lista está vacía, y nil (sin valor) en caso contrario
 
Línea 119:
</pre>
 
== eq ==
Se utiliza eq para saber si dos objetos son iguales, independientemente de la referencia.
 
Línea 132:
</pre>
 
== equal ==
Es utilizado equal para saber si dos listas son iguales, independientemente de la referencia.
<pre>
Línea 138:
</pre>
 
== list ==
Construye una lista a partir de sus elementos
 
(list elem1 elem2 elem3 .. elemN)
 
<pre>
Línea 148:
</pre>
 
== quote ==
La función quote evita la evaluación de su argumento.
 
Línea 157:
 
[[Categoría:Programación]]
 
[[en:Programming:Lisp Programming]]
[[it:Programmare in Lisp]]
[[fr:Programmation Lisp]]
[[it:Programmare in Lisp]]
[[ja:Lisp]]
[[ru:Лисп]]