Dear Ciao users,
Ciao Prolog 1.10 has just been released. A lot of effort has been put on making this version as resilient as possible. Many bugs have been corrected since 1.8, both at Prolog and emulator level, and a large number of new features have also been added, which we summarize (and we mean that!) below. As usual, Ciao is available for download from
http://www.clip.dia.fi.upm.es/Software/Ciao/
Comments, suggestions, bug reports & fixes, patches, etc. are very welcome!
The Ciao Prolog Team.
---------------------------------------------------------------------------
Summary of changes / improvements from Ciao-1.8 ===============================================
* Classical Prolog mode as default behavior.
* Emacs-based environment improved. - Improved emacs inferior (interaction) mode for Ciao and CiaoPP. - Xemacs compatibility improved (thanks to A. Rigo). - New icons and modifications in the environment for the preprocessor. - Icons now installed in a separate directory. - Compatibility with newer versions of Cygwin. - Changes to programming environment: + Double-click startup of programming environment. + Reorganized menus: help and customization grouped in separate menus. + Error location extended. + Automatic/Manual location of errors produced when running Ciao tools now customizable. + Presentation of CiaoPP preprocessor output improved. - Faces and coloring improved: + Faces for syntax-based highlighting more customizable. + Syntax-based coloring greatly improved. Literal-level assertions also correctly colored now. + Syntax-based coloring now also working on ASCII terminals (for newer versions of emacs). + Listing user-defined directives allowed to be colored in special face. + Syntax errors now colored also in inferior buffers. + Customizable faces now appear in the documentation. + Added new tool bar button (and binding) to refontify block/buffer. + Error marks now cleared automatically also when generating docs. + Added some fixes to hooks in lpdoc buffer.
* Bug fixes in compiler. - Replication of clauses in some cases (thanks to S. Craig).
* Improvements related to supported platforms - Compilation and installation in different platforms have been improved. - New Mac OS X kernels supported.
* Improvement and bugs fixes in the engine: - Got rid of several segmentation violation problems. - Number of significant decimal digits to be printed now computed accurately. - Added support to test conversion of a Ciao integer into a machine int. - Unbound length atoms now always working. - C interface .h files reachable through a more standard location (thanks to R. Bagnara). - Compatibility with newer versions of gcc.
* New libraries and utilities added to the system: - Factsdb: facts defined in external files can now be automatically cached on-demand. - Symfnames: File aliasing to internal streams added.
* New libraries added (in beta state): - fd: clp(FD) - xml_path: XML querying and transformation to Prolog. - xdr_handle: XDR schema to HTML forms utility. - ddlist: Two-way traversal list library. - gnuplot: Interface to GnuPlot. - time_analyzer: Execution time profiling.
* Some libraries greatly improved: - Interface to Tcl/Tk very improved. + Corrected many bugs in both interaction Prolog to Tcl/Tk and viceversa. + Execution of Prolog goals from TclTk revamped. + Treatment of Tcl events corrected. + Predicate tcl_eval/3 now allows the execution of Tcl procedures running multiple Prolog goals. + Documentation heavily reworked. + Fixed unification of Prolog goals run from the Tcl side. - Pillow library improved in many senses. + HTTP media type parameter values returned are always strings now, not atoms. + Changed verbatim() pillow term so that newlines are translated to <br>. + Changed management of cookies so that special characters in values are correctly handled. + Added predicate url_query_values/2, reversible. Predicate url_query/2 now obsolete. + Now attribute values in tags are escaped to handle values which have double quotes. + Improved get_form_input/1 and url_query/2 so that names of parameters having unusual characters are always correctly handled. - Fixed bug in tokenizer regarding non-terminated single or multiple-line comments. When the last line of a file has a single-line comment and does not end in a newline, it is accepted as correct. When an open-comment /* sequence is not terminated in a file, a syntax error exception is thrown.
* Other libraries improved: - Added native_props to assertions package and included nonground/1. - In atom2terms, changed interpretation of double quoted strings so that they are not parsed to terms. - Control on exceptions improved. - Added native/1,2 to basic_props. - Davinci error processing improved. - Foreign predicates are now automatically declared as implementation-defined. - In lists, added cross_product/2 to compute the Cartesian product of a list of lists. Also added delete_non_ground/3, enabling deletion of nonground terms from a list. - In llists added transpose/2 and changed append/2 implementation with a much more efficient code. - The make library has been improved. - In persdb, added pretractall_fact/1 and retractall_fact/1 as persdb native capabilities. - Improved behavior with user environment from persdb. - In persdb, added support for persistent_dir/4, which includes arguments to specify permission modes for persistent directory and files. - Some minor updates in persdb_sql. - Added treatment of operators and module:pred calls to pretty-printer. - Updated report of read of syntax errors. - File locking capabilities included in open/3. - Several improvements in library system. - New input/output facilities added to sockets. - Added most_specific_generalization/3 and most_general_instance/3 to terms_check. - Added sort_dict/2 to library vndict. - The xref library now treats also empty references.
* Miscellaneous updates: - Extended documentation in libraries actmods, arrays, foreign_interface, javall, persdb_mysql, prolog_sys, old_database, and terms_vars.
---------------------------------------------------------------------------
============================================================================== Message: Address: Action: help majordomo(a)clip.dia.fi.upm.es Info. on useful commands subscribe ciao-users-request(a)clip.dia.fi.upm.es Subscribe to this list unsubscribe ciao-users-request(a)clip.dia.fi.upm.es Unsubscribe from this list <whatever> ciao-users(a)clip.dia.fi.upm.es Send message to list ----------------------------------------------------------------------------- Archived messages: http://www.clip.dia.fi.upm.es/Mail/ciao-users/ -----------------------------------------------------------------------------