Es fines de programación lógica útiles, la inteligencia artificial y la lingüística computacional
¿Cuál es nuevo en esta versión:.
- El nuevo tipo dict y la sintaxis proporciona ambos mapas del tiempo y el espacio eficiente nombre-valor con una sintaxis agradable.
- Como consecuencia, era necesario para reemplazar la lista constructor (H, T) por la (también en uso por Mercurio) '[|]'. (H, T). Eso puede parecer drástico, pero en la práctica sólo afecta a algunos programas, sobre todo haciendo funtor (Plazo, M, A) en las listas y luego seleccionando su posterior procesamiento en F == '.', A == 2. Para activar listas de más en una construcción especial, [] todavía es la lista vacía, pero ya no es el mismo que '[]', es decir, [] no es del átomo.
- La sintaxis & quot; ... & quot; ahora se asigna a las cuerdas. Las cadenas son compatibles con Eclipse (gracias a Joachim Schimpf para todas las discusiones). Listas de códigos tradicionales se construyen utilizando .... Las banderas double_quotes y back_quotes controlar este comportamiento.
- Gracias a Torbjorn Lager, disponemos de & quot; & quot ;, Pengines motores Prolog en la web. Esto proporciona una API genérica para hablar cómodamente a un servidor Prolog desde JavaScript y otras instancias Prolog. Permitió SWISH, SWI-Prolog en su navegador (http://swish.swi-prolog.org), así como http://lpn.swi-prolog.org (Aprenda Prolog Ahora! Con SWISH incorporado).
- Markus Triska añadió clp (b), el solucionador de restricciones booleano, mejoró su clp (fd) y fue antes de varias mejoras en el nivel superior se trata de restricciones.
- Gracias a Matt y Mike Lilley Elston, hay CQL, un DSL (Domain Specific Language) para hacer frente a SQL. CQL se desarrolla en un entorno donde las bases de datos SQL complejas son la norma, por lo que es compatible con una gran subconjunto de SQL y pueden hacer frente a las tablas con miles de columnas y otras cosas que el usuario de SQL ocasional no esperará.
- Matt Lilley mejoró la creación de redes de apoyo de manera significativa, incluyendo mejor soporte para SSL y soporte general para ambos HTTP y los servidores proxy SOCKS.
- Muchas personas se han proporcionado complementos (paquetes) que se basan en SWI-Prolog versión 7.
¿Qué hay de nuevo en la versión 7.2.1 / 7.3.3-dev:
- El nuevo tipo dict y la sintaxis ofrece dos mapas del tiempo y el espacio eficiente nombre-valor con una sintaxis agradable.
- Como consecuencia, era necesario para reemplazar la lista constructor (H, T) por la (también en uso por Mercurio) '[|]'. (H, T). Eso puede parecer drástico, pero en la práctica sólo afecta a algunos programas, sobre todo haciendo funtor (Plazo, M, A) en las listas y luego seleccionando su posterior procesamiento en F == '.', A == 2. Para activar listas de más en una construcción especial, [] todavía es la lista vacía, pero ya no es el mismo que '[]', es decir, [] no es del átomo.
- La sintaxis & quot; ... & quot; ahora se asigna a las cuerdas. Las cadenas son compatibles con Eclipse (gracias a Joachim Schimpf para todas las discusiones). Listas de códigos tradicionales se construyen utilizando .... Las banderas double_quotes y back_quotes controlar este comportamiento.
- Gracias a Torbjorn Lager, disponemos de & quot; & quot ;, Pengines motores Prolog en la web. Esto proporciona una API genérica para hablar cómodamente a un servidor Prolog desde JavaScript y otras instancias Prolog. Permitió SWISH, SWI-Prolog en su navegador (http://swish.swi-prolog.org), así como http://lpn.swi-prolog.org (Aprenda Prolog Ahora! Con SWISH incorporado).
- Markus Triska añadió clp (b), el solucionador de restricciones booleano, mejoró su clp (fd) y fue antes de varias mejoras en el nivel superior se trata de restricciones.
- Gracias a Matt y Mike Lilley Elston, hay CQL, un DSL (Domain Specific Language) para hacer frente a SQL. CQL se desarrolla en un entorno donde las bases de datos SQL complejas son la norma, por lo que es compatible con una gran subconjunto de SQL y pueden hacer frente a las tablas con miles de columnas y otras cosas que el usuario de SQL ocasional no esperará.
- Matt Lilley mejoró la creación de redes de apoyo de manera significativa, incluyendo mejor soporte para SSL y soporte general para ambos HTTP y los servidores proxy SOCKS.
- Muchas personas se han proporcionado complementos (paquetes) que se basan en SWI-Prolog versión 7.
¿Qué hay de nuevo en la versión 7.2.0 / 7.3.1-dev:
- El nuevo tipo dict y la sintaxis ofrece dos mapas del tiempo y el espacio eficiente nombre-valor con una sintaxis agradable.
- Como consecuencia, era necesario para reemplazar la lista constructor (H, T) por la (también en uso por Mercurio) '[|]'. (H, T). Eso puede parecer drástico, pero en la práctica sólo afecta a algunos programas, sobre todo haciendo funtor (Plazo, M, A) en las listas y luego seleccionando su posterior procesamiento en F == '.', A == 2. Para activar listas de más en una construcción especial, [] todavía es la lista vacía, pero ya no es el mismo que '[]', es decir, [] no es del átomo.
- La sintaxis & quot; ... & quot; ahora se asigna a las cuerdas. Las cadenas son compatibles con Eclipse (gracias a Joachim Schimpf para todas las discusiones). Listas de códigos tradicionales se construyen utilizando .... Las banderas double_quotes y back_quotes controlar este comportamiento.
- Gracias a Torbjorn Lager, disponemos de & quot; & quot ;, Pengines motores Prolog en la web. Esto proporciona una API genérica para hablar cómodamente a un servidor Prolog desde JavaScript y otras instancias Prolog. Permitió SWISH, SWI-Prolog en su navegador (http://swish.swi-prolog.org), así como http://lpn.swi-prolog.org (Aprenda Prolog Ahora! Con SWISH incorporado).
- Markus Triska añadió clp (b), el solucionador de restricciones booleano, mejoró su clp (fd) y fue antes de varias mejoras en el nivel superior se trata de restricciones.
- Gracias a Matt y Mike Lilley Elston, hay CQL, un DSL (Domain Specific Language) para hacer frente a SQL. CQL se desarrolla en un entorno donde las bases de datos SQL complejas son la norma, por lo que es compatible con una gran subconjunto de SQL y pueden hacer frente a las tablas con miles de columnas y otras cosas que el usuario de SQL ocasional no esperará.
- Matt Lilley mejoró la creación de redes de apoyo de manera significativa, incluyendo mejor soporte para SSL y soporte general para ambos HTTP y los servidores proxy SOCKS.
- Muchas personas se han proporcionado complementos (paquetes) que se basan en SWI-Prolog versión 7.
¿Cuál es nuevo en la versión 6.6.6 / 01.07.37:
- Tratamiento de # !, vinculante un archivo a un intérprete en Unix ya no trata de ser inteligentes acerca de opciones de proceso para el intérprete. El efecto de este cambio depende de las versiones de Unix:. Algunos sólo pasar la primera opción, otros empacar todas las opciones en un solo y sin embargo, otros pasan las opciones después romperlas
- La bandera argv Prolog sólo proporciona argumentos que no han sido procesados por Prolog.
- El .plrc archivo init (pl.ini en Windows) ya no se busca en el directorio de trabajo por razones de seguridad.
¿Cuál es nuevo en la versión 6.6.6 / 01.07.31:
- Tratamiento de # !, vinculante un archivo a un intérprete en Unix ya no trata de ser inteligentes acerca de opciones de proceso para el intérprete. El efecto de este cambio depende de las versiones de Unix:. Algunos sólo pasar la primera opción, otros empacar todas las opciones en un solo y sin embargo, otros pasan las opciones después romperlas
- La bandera argv Prolog sólo proporciona argumentos que no han sido procesados por Prolog.
- El .plrc archivo init (pl.ini en Windows) ya no se busca en el directorio de trabajo por razones de seguridad.
¿Cuál es nuevo en la versión 6.4.0:
- Se ha actualizado la biblioteca RDF a la versión 3. Cualquier persona cuidando sobre RDF fue probablemente ya usar la versión de desarrollo por este motivo. Añadido analizadores rápidos para ntriples, formatos de tortuga y Trig.
- Introducción de la cita cuasi para su inclusión segura y sin problemas de fragmentos de lenguaje externos
- Actualización de PlDoc para aceptar las construcciones de rebajas común.
- Muchas mejoras en las herramientas de desarrollo, bibliotecas HTTP, paquete clib. etc. Mejor soporte para procesos demonio Unix (syslog, UID / GID gestión, etc.)
- Un comienzo para el manejo de la configuración regional (con soporte para formato / 3, sobre todo escribiendo locale enteros grandes específicos.
- Un montón de cosas estabilidad:. desplomes fijos, parches de portabilidad, construir mejoras del sistema, etc
¿Cuál es nuevo en la versión 6.2.0:
- Versión inicial de la manada 'gestor de paquetes `
- Mejor manejo archivo de origen, en particular WRT. : - Incluir (Archivo) .
- Muchas correcciones para el depurador, mejorando el manejo de origen y la lógica que decide sobre qué puertos están ocultos.
- versión de Windows ahora construir utilizando el proyecto compilador MinGW, lo que resulta en 10 a 20% más veloz. Mejoras para swipl-win.exe consola:. Copiar / pegar y soporte de color
¿Qué hay de nuevo en la versión 6.0.0:
- Dynamic indexación just-in-time en múltiples argumentos .
- Resumido muchas de las APIs de desarrollo, el apoyo a la IDE PDT.
- Un montón de limpieza, correcciones de errores, etc.
¿Qué hay de nuevo en la versión 5.11.20:.
- Reducción del uso de trail-pila
- Proporcione la recolección de basura generacional.
¿Cuál es nuevo en la versión 5.11.10:
- Reducir el uso de trail-pila. (en parte)
- Proporcione la recolección de basura generacional.
¿Cuál es nuevo en la versión 5.11.9:
- Reducir el uso de trail-pila. (en parte)
- Proporcione la recolección de basura generacional.
¿Cuál es nuevo en la versión 5.10.0:
- Todas las plataformas utilizan ahora nomenclatura coherente. El ejecutable SWI-Prolog se llama swipl, el enlazador swipl-ld y el gerente resouce-file swipl-rc.
- Nueva gestión de memoria de pila que se basa en la pila que cambia de lugar de asignar las pilas escasamente en la dirección en el espacio virtual. Este cambio permite una mejor escalabilidad en el número de hilos, por lo que también elimina el antiguo límite de hilos de 100. Los plazos de pila ahora pueden ser planteadas y la reducción en tiempo de ejecución utilizando set_prolog_stack / 2.
- El valor predeterminado pila talla límites están ahora 128MB por pila de 32 bits y 256 MB en el hardware de 64 bits.
- Amplia fuga y pruebas de tensión se han fijado una serie de fugas y las condiciones de carrera, haciendo el sistema mucho más robusto en la configuración del servidor 24x7.
- Un comienzo se ha hecho para evitar el uso de la C-pila de manera recursiva en términos. Esto permite procesamiento anidado mucho más profundamente términos y proporciona una excepción limpia si no hay recursos suficientes para atravesar el término. Todavía hay mucho que hacer en esta área.
- SWI-Prolog 5.10.0 introduce referencias seguras a los términos de bases de datos (assertz / 2, recordz / 3) y corrientes (abrir / 3).
- El número de variables en las cláusulas se limita ahora a 1000 millones; esto era 65535. Además, el sistema proporciona excepciones graciosas cuando se enfrentan a recursos-errores o tratando de hacer valer términos ilegales como términos cíclicos.
- Compatibilidad tanto YAP y SICStus es mayor.
¿Cuál es nuevo en la versión 5.8.2:
- LIMPIEZA: Implementación y documentación de la interfaz de la señal.
- FIJO:. Uso --nopce / - pce para (des) permitiendo gráficos
- FIJO: GC-bug; omitir despojar Hace Uwrite bits del argumento pila
- MODIFICADO: Eliminado el abort_with_exception bandera prólogo; ya no se utiliza.
- FIJO: Evitar el estancamiento al tratar de salir después de un error grave .
- MODIFICADO: is_set / 1 ahora utiliza especie / 2. Como resultado, las variables no compartidos se consideran diferentes elementos; el orden es log N * (N) y el predicado puede devolver un error de recursos.
- FIJO: Después de: -.. módulo (x), lleve a cabo meta-expansión relativa al módulo x
- LIMPIEZA: Artículo # 547:. Correctamente citar predicados indefinidos y alternativas
- DOC: Aclarar current_arithmetic_function / 1 .
- DOC: Proporcionar disponibilidad snippit para C-funciones
- FIJO: simplificación Anterior dañado administrador variable del compilador. Prueba de los casos también añadido.
- Corregido: bug # 436: la unificación de una variable consigo misma crea un bucle de referencia .
¿Qué hay de nuevo en la versión 5.7.14:
- FIJO: Cruz-Referencer distinguir: desde 0 en declaraciones meta-predicado
- LIMPIEZA: Use meta_predicate para predsort / 3
- MODIFICADO: Marca / 0 ahora sólo exploraciones para las referencias a los predicados indefinidos en los módulos que los contienen. El list_undefined / 0 todavía busca en el mundo.
- MEJORADA: CLP (FD):. Arc-en consonancia global_cardinality / 2 si los pares son inicialmente suelo
- FIJO: Mango (multifichero) predicados por el cual algunas cláusulas tienen su cuerpo en otro módulo y algunos en el mismo. Matt Lilley.
- Añadido:% [& # X3c; n & # X3e;] formato f para format_time / 3 para hacer frente a fracciones de segundo. Utilizado por nuevas extensiones de depuración.
- Añadido: debug_message_context (+ | -Context) para especificar un contexto adicional para los mensajes de depuración (como un sello de tiempo) .
- FIJO: Hacer apply_macros hacen su expansión gol en el contexto del módulo del sistema
- MEJORADA: CLP (FD): global_cardinality rápido / 2 si pares clave-Num se muelen .
- FIJO: manejar operador con prioridad en la impresión de respuesta. Markus Triska.
- MEJORADA: Utilice las opciones de impresión de nivel superior para las metas residuales, aplicación de limpieza
- MEJORADA: Hacer term_variables y term_attvars eficiente si se da una lista (en particular term_attvars (Plazo, [])) .
- MEJORADA: Hacer la base de datos registrada utilizar nuevo código término-walker
- MEJORADA: Primera instalación de un esqueleto para atravesar términos usando un simple bucle en lugar de un procedimiento recursivo. Ahora en uso durante term_variables / 2 y predicados relacionados. El esquema parece adecuada, pero el código pila segmentado debe ser optimizado considerablemente. Como es, term_variables / 2 es un poco más lento (5%), pero se puede manejar términos profundamente anidadas con mucha menos memoria y sin desbordamientos de pila.
- Añadido: term_attvars / 2 para un mejor apoyo de copiar_term / 3. Después de la discusión con Markus Triska.
- Añadido: del_attrs / 1 para borrar * todos * los atributos. Simplifica copiar_term / 3.
¿Qué hay de nuevo en la versión 5.7.12:
- Mejora del rendimiento de los programas de mayor tamaño es de entre 10 y 40 %, dependiendo del estilo de programación. Cabe destacar que los solucionadores de restricciones benefician significativamente. Los programas pequeños a veces muestran aceleraciones mucho más grandes.
- Desde 5.7.4, el sistema de módulo actualizado
- Las porciones de limpieza en nombrar y modularización del código base.
Comentarios que no se encuentran