Nuevo CECEO

el newLISP es una fuente abierta scripting lengua en la familia del Ceceo de lenguajes de programación desarrollados por Lutz Mueller y soltados según la Licencia del Gran público del ÑU.

Historia

el newLISP provino en 1991 y al principio se desarrolló en un Sol 4 estación de trabajo. Más tarde se movió a Windows 3.0, donde la versión 1.3 se soltó en CompuServe alrededor de 1993, luego se hizo disponible como Windows GUI aplicación de gráficos y capaz y una aplicación de la consola de DOS (ambos de 16 bites). En 1995, con la liberación de Windows 95, el newLISP se movió al de 32 bites.

En el abril de 1999, el newLISP se viró a babor a Linux; algunos de sus algoritmos principales se volvieron a escribir, y todo el código específico para Windows eliminado. NewLISP se liberó como un proyecto de la Fuente Abierto licenciado bajo la GPL, y el desarrollo en Windows se paró después de la versión 6.0.25. Durante la primera mitad de 2001, el newLISP se viró a babor atrás a Windows en la plataforma de Cygwin sin capacidades de gráficos. Una multiplataforma Tcl/Tk frontend llamó newLISP-tk se soltó alrededor de la versión 6.3.0, durante la segunda mitad de 2001. La precisión de 64 bites se introdujo para la aritmética del número entero y para algunas operaciones en archivos en la versión 9.0 en 2006.

Desde la liberación de 6.5 a mediados de 2002, el desarrollo ha sido muy activo, y se han añadido muchos nuevos rasgos.

Filosofía

NewLISP intenta proporcionar un rápido, potente, plataforma enfadada, versión scripting con todas las funciones del lenguaje de programación del Ceceo usando sólo una cantidad modesta de recursos del sistema como espacio de disco y memoria.

Proporciona rasgos del Ceceo como listas, procesamiento del símbolo, correlación de función, funciones anónimas (expresiones de la lambda), s-expresiones (excluyendo listas impropias), y macros. También proporciona las funciones esperadas de una lengua scripting moderna, incluso el apoyo a expresiones regulares, XML, Unicode (UTF-8), TCP/IP y gestión de redes de UDP, matriz y procesamiento de la serie, matemáticas avanzadas, estadística y Bayesian análisis estadístico, matemáticas financieras, y distribuyó el apoyo de calcular.

NewLISP corre en el BSD, Linux, Windows, Mac OS X y sistemas operativos de Solaris. Proporciona el apoyo a MYSQL, SQLite y acceso a la base de datos ODBC, CGI, SMTP, POP3, FTP y XML-RPC. Puede correr en el modo del servidor como un demonio.

La lengua

Contextos

NewLISP apoya namespaces llamado contextos, que se pueden asignar a variables y pasarse a funciones, pero que tienen que ver con símbolos globalmente únicos, limitando su uso como objetos de primera clase. Un estilo orientado al objeto basado en el prototipo de la programación es posible en newLISP, usando contextos como prototipos para la construcción de objetos. Las variables dentro de contextos no interfieren con variables del mismo nombre en otros contextos, pero dentro de un contexto, las variables se comportan según las reglas de scoping dinámico.

Scoping

NewLISP usa scoping dinámico. Cuando se llama una función, esa función puede ver todas las variables de su visitante, el visitante de su visitante, etcétera, dentro del mismo contexto o espacio de nombre. Apoya tanto explícitamente como implícitamente definió variables dinámicas locales que las variables de la oposición con el mismo nombre del ambiente externo, tan uso casual o cambio de las variables del ambiente del visitante se previene. Variables del parámetro de la función llamada automáticamente de la oposición el ambiente variable del visitante. Globalmente, las variables se pueden agrupar en namespaces separado.

Dirección de memoria

NewLISP usa un método de la dirección de memoria automática diferente de esquemas de colección de la basura tradicionales, llamados la dirección de Memoria de One Reference Only (ORO). Cada variable sólo es referida por su contexto, y cada contexto se refiere globalmente.

El compartimiento de subobjetos entre objetos, estructuras cíclicas o variables múltiples que señalan al mismo objeto no se apoya en newLISP. Los objetos se copian cuando almacenado en estructuras de datos o pasaron a funciones, excepto funciones incorporadas particulares. Las excepciones son símbolos y contextos, que se comparten en vez del copiado, y por lo tanto se pueden usar para el engaño. Los símbolos y los contextos globalmente se llaman y se suprimen explícitamente; la supresión de un símbolo o contexto explora todos otros objetos de sustituir referencias a ello con.

Opciones de GUI

el newLISP-GS (Gui Server) es un servidor TCP/IP situado en Java que proporciona un interfaz de programación gráfico. Un entorno de desarrollo basado newLISP-GS se incluye en distribuciones binarias newLISP, pero el GTK-servidor, OpenGL y Tcl/Tk-based interfaces que programan también están disponibles.

Binarios independientes

Es

posible construir archivos ejecutables para el despliegue usando cualquier versión de newLISP. Estos archivos son autónomos y no requieren ninguna instalación.

Interacción con bibliotecas compartidas

el newLISP tiene una función de importación, que permite importar funciones de DLLs (Bibliotecas de Relación Dinámicas) en Win32 o bibliotecas compartidas de Linux/UNIX.

Enlaces externos



Buscar