PicoLisp es un lenguaje de programación, un dialecto del lenguaje Lisp . Se ejecuta en sistemas operativos como Linux y otros compatibles con POSIX ( Portable Operating System Interface ). Sus características más destacadas son la simplicidad y el minimalismo . Está construido sobre un único tipo de dato interno : la celda. A nivel de lenguaje, el programador puede utilizar tres tipos de datos diferentes (números, símbolos y listas), representados por celdas y diferenciados por bits al final de cada una. [ 2 ] Es software libre y de código abierto, publicado bajo la licencia MIT (X11).
Características
Las funciones pueden aceptar tipos y números de argumentos arbitrarios. Las macros solo son necesarias en casos excepcionales y se implementan mediante la función quote. PicoLisp no incluye la función lambda de Lisp . Esto se debe a que la función quote se modifica para devolver todos sus argumentos sin evaluar, no solo el carprimero. [ 3 ]
Una característica especial es la funcionalidad intrínseca de creación, lectura, actualización y eliminación (CRUD). Los símbolos persistentes son elementos de primera clase (objetos), se cargan automáticamente desde los archivos de la base de datos al acceder a ellos y se vuelven a escribir al modificarlos. Las aplicaciones se escriben utilizando una jerarquía de clases de entidades y relaciones .
Otras características incluyen: motor Prolog , motor de base de datos y consultas a la base de datos, bases de datos distribuidas, inserción en línea de funciones del lenguaje C y llamadas a funciones nativas de C, gestión de procesos secundarios, comunicación entre procesos , interfaz gráfica de usuario (GUI) del navegador e internacionalización y localización .
Historia
El diseño de PicoLisp es muy similar a la primera versión de MacLisp, Interlisp y, principalmente, a Portable Standard Lisp. [ 4 ] Fue adaptado a DOS y SCO Unix . Desde 1993, se utilizó principalmente en Linux. A mediados de la década de 1990, se añadieron funciones de base de datos.
Las primeras versiones se escribieron combinando lenguaje C y lenguaje ensamblador . En 1999, se realizó una primera reescritura desde cero, completamente en C. En 2002, esa versión se publicó bajo la Licencia Pública General de GNU (GNU GPL). En 2010, se cambió a la licencia MIT/X11.
En 2009 se lanzó la versión de 64 bits , otra reescritura, esta vez escrita en lenguaje ensamblador genérico, que a su vez está implementado en PicoLisp. Esta versión añade soporte para corrutinas .
En diciembre de 2010, se lanzó una versión de Java llamada Ersatz PicoLisp . [ 5 ]
En septiembre de 2014, Burger anunció el proyecto PilMCU en la lista de correo de desarrollo de PicoLisp , un esfuerzo con George Orais para implementar PicoLisp directamente en hardware. [ 6 ]
En julio de 2015, Burger anunció PilOS - The PicoLisp Operating System, un prototipo mínimo basado en la modificación de PilMCU dirigido a aplicaciones embebidas. [ 7 ] Se ejecuta en hardware estándar de PC x86-64, directamente desde la BIOS e incluye todas las características de PicoLisp de 64 bits (menos las llamadas a funciones nativas, debido a que no hay otro entorno nativo como la biblioteca estándar de C); en principio, funciona como su propio sistema operativo. [ 8 ]
En el verano de 2016, se inició el desarrollo de PilBox ("PicoLisp Box"), una aplicación genérica para Android que permite escribir aplicaciones en PicoLisp puro. Su desarrollo y mantenimiento continúan. [ 9 ]
En 2021, PicoLisp se reimplementó en LLVM y se lanzó como pil21 . El lenguaje fuente compilado a LLVM-IR también utiliza la sintaxis de PicoLisp.
Referencias
- ↑ "Descarga de PicoLisp" . Software Lab . Consultado el 18 de noviembre de 2018 .
- ↑ Burger, Alexander. "Estructuras internas" . Software Lab . Consultado el 18 de noviembre de 2018 .
- ↑ "¡Hasta los pequeños detalles marcan la diferencia! "
- ↑ "Re: Raíces de PicoLisp" .
- ↑ Burger, Alexander (8 de mayo de 2013). "Ersatz PicoLisp" . Software Lab .
- ↑ "Anuncio: PicoLisp en hardware" .
- ↑ "PilMCU ha muerto - ¡Larga vida a PilOS!" .
- ↑ "PicoLisp Wiki: Pilos" .
- ↑ "PicoLisp PilBox en Google Play Store" .
Enlaces externos
- Sitio web oficial
- Picolisco en la wiki de C2
- Un blog sobre programación funcional en PicoLisp.
- Lanzamiento continuo de PicoLisp
- Repositorio de PicoLisp en GitHub
- Familia de lenguajes de programación Lisp
- Lenguajes de programación con ámbito dinámico
- Lenguajes de programación de tipado dinámico
- Lenguajes de programación creados en 1988