En el de informática, el limpio es un puramente funcional de fines generales de la computadora que programa la lengua del .
Características
Transparencia de referencia - una función,
dada las mismas entradas, da siempre la misma salida.
Sistema que mecanografía de la unicidad - ocuparse funcionalmente de los recursos unduplicatable tales como entrada y salida sin las mónadas
La
comprensión de la lista - enumerar el sintaxis de la generación
El guarda para los conditionals sucintos
incluido IDE .
Ayuda de la portabilidad otras plataformas, debido al de alto nivel de la abstracción.
Colección de basura automática
Una orden más alta funciona y que curten
El retrasó
la ayuda de la evaluación permite las estructuras de datos infinitas
Ejemplos
Mundo (almacén hola como hello.icl):
hello
del módulo Comienzo = " ¡Hola, mundo! "
factorial: factorial
del módulo fac 0 = 1 fac n = n * fac (n-1) // encuentra el factorial de 10 Comienzo = fac 10
Secuencia de Fibonacci: fibonacci
del módulo bola 0 = 0 bola 1 = 1 bola n = bola (n - 2) + bola (n - 1)
Comienzo = bola 7
Operador del infijo : infixr 8 (del ^):: Internacional internacional - > internacional (^) x 0 = 1 (^) x n = x * ^ de x (n-1)
El tipo declaración indica que la función es operador de infijo asociativo adecuado con la prioridad 8: esto indica que el x*x^ (n-1) es equivalente al x* (x^ (n-1)) en comparación con el (x*x)^ (n-1) ; predefinen a este operador en el ambiente estándar limpio.
Cómo trabajos limpios
El cómputo se basa en la reescritura del gráfico y la reducción . Los constantes tales como números son gráficos y las funciones son fórmulas de la reescritura del gráfico. Esto, combinado con la compilación al
código nativo, hace programas limpios relativamente rápidos, incluso con la alta abstracción.
Compilación de
Los archivos de fuente (.icl) y los archivos de proyecto (.dcl) se convierten en el bytecode independiente de la plataforma limpia (.abc), ejecutado en el C y limpian.
Bytecode se convierte al código de objeto (.obj) usar de la C. el código de objeto se liga a otros archivos en el módulo y el sistema runtime y se convierte en un normal ejecutable en limpio. Versiones limpias anteriores del sistema fueron escritas totalmente en C, así evitando atando ediciones con correa.
Plataformas
Limpio está disponible para el Microsoft Windows . Está también disponible con capacidades limitadas de la entrada-salida y sin el " Dynamics" ofrecer antes de la versión 2.2, para el Apple Macintosh, el Solaris y el linux .
Licencia
Limpio es el autorizado dual: está disponible de conformidad con el GNU LGPL, y también debajo de una licencia propietaria.
ZenithicAmneesia