Ann: SWI-Prolog 7.1.1

Jan Wielemaker <[email protected]>
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <[email protected]>
Hi,

I have uploaded SWI-Prolog 7.1.1. This release fixes a few
implementation issues and incorporates some changes resulting from the
discussions:

   - Fixed --traditional ([] \== '[]' was still true with this flag)

   - Relax rules for quoted atom after a remark from Joachim Schimpf:
     It is now possible to still use atoms that *require* quotes as
     quoted:

       ?- A = 'dynamic'/1.
       A = (dynamic)/1

       ?- op(100, xf, 'Kwh').
       ?- A = 100'Kwh'.
       A = 100 'Kwh'.

   - functor(a(), N, A), and a() =.. L raise a domain error as adviced
     by Jeff Schultz.

   - Renamed map --> dict (and predicates) and Class{...} into Tag{...}

   - Fixed a GC issue with the dict implementation (crashed).

   - Strings: added string_chars/2 and number_string/2.  Changed standard
     order to get all strings before all atoms (compatibility to ECLiPSe).

Other stuff resulting from Joachim Schimpf's remarks:

   - We will try to unite strings with ECLiPSe.  Issue on the list:

     - "a" "b" reads as "ab" (is like that in ECLiPSe).  With the
       awkward definition of \LF in ISO, this makes sense to me.
       SWI already has \cLF and quasi quotations for creating
       long strings.

     - string_code(?Index, +String, ?Code) is in ECLiPSe
       string_code(+String, +Index, -Code).  Thus, nondet vs det
       and different argument order.  We want to resolve this, but
       I do not know how.  Considering arg/3, nth/3, etc, I think
       that the SWI 7 version is the `correct' one.

     - Various predicates ECLiPSe has and SWI 7 not yet.

   - Joachim proposes to change lists into '[|]'(Head,Tail) instead
     of '$cons'(Head,Tail).  This was suggested in earlier discussion
     too and is also in Mercury.

I'll address V7 directions elsewhere.

	Enjoy --- Jan


========================================
SWI-Prolog Changelog since version 7.1.0
========================================

  * FIXED: Avoid syntax error for library(prolog_colour) when using
    --traditional.  Günter Kniesel.

  * FIXED: Complete stabdard order change

  * MODIFIED: Allow for deliberately quoted operators.  After discussion
    with Joachim Schimpf.

  * MODIFIED: In the standard order of terms, all string are now smaller
    than all atoms.  Compatibility with ECLiPSe.  Joachim argues that
    atoms should be adjacent to compounds.  I agree.

  * ENHANCED: Error message for atom_concat([], aap, _).  Paulo Moura.

  * PORT: Bug#141: old __mips__ definition of ALIGNOF_DOUBLE cannot be
    used in correctly by AC_CHECK_ALIGNOF(double).  If not, it should be
    fixed in configure.in.  Eugeniy Meshcheryakov.

  * FIXED: use '$option'/3 when loading qlf files

  * FIXED: GC issues on some of the dict operations.

  * FIXED: Handling of strings in DCG meta-arguments phrase("...", _,
    _). Edison Mera.

  * DOC: Renamed `class' --> `tag'

  * DOC: Renamed map -> dict

  * MODIFIED: Renamed `map' to `dict'.

  * FIXED: Warning from format/3 where it reports to have an [] argument
    where it expected a text argument

  * DOC: PL_term_type().  Nicos Angelopoulos.

  * DOC: Removed section "Unbounded thread creation".  This is no longer
    valid.

  * FIXED: number_chars(-,+), broken after merging number_string/2 into
    x_chars().

  * DOC: typo.

  * DOC: Link to http/http_quasiquotations --> http/html_quasiquotations
    (André Rifaut).

  * FIXED: Exception in predicate_property(P, visible).  Edison Mera.

  * FIXED: Error from compound_name_arity(a, F, A).  Abramo Bagnara. Also
    added some test cases.

  * DOC: Copy/paste typo.  Abramo Bagnara.

  * MODIFIED: Make functor(a(), N, A), and a() =.. L raise a domain
    error. Suggested by Jeff Schultz.

  * DOC: various updates

  * ADDED: string_chars/2.

  * ADDED: number_string/2.

  * ADDED: Test framework and two simple tests for testing saved state
    generation and running.

  * FIXED: saved-state option processing.  Jeff Rosenwald.

  * FIXED: Save operator for undo *after* setting it to compensate for
    the possibility that it cannot be set.

  * FIXED: Use wrong function to grow the stacks on map allocation
    overflows. Leads to infinite loops.

  * FIXED: Using uninitialized variable padding in formatFloat().

  * CLEANUP: Bug#138: meaningless and confusing statement.  Peter Remmers.

  * FIXED: Bug#136: function expansion in meta-calling arguments.

  * FIXED: With --traditional, [] remained special.

  * MODIFIED: write ~e formatted floats on Windows in POSIX notation



============
Package clib
============

  * DQUOTES: Fixed test case.

===============
Package ltx2htm
===============

  * PORT: Avoid use of version/1

=============
Package pldoc
=============

  * CLEANUP: Small style issue

  * DOC: Properly rewrite references on the reference manual.

  * FIXED: Avoid a() =.. L.

==============
Package semweb
==============

  * PORT: As of SWI-Prolog 7.1.1, TAG_ATOM has changed from 4 to 5.
    We need a cleaner interface for this.
_______________________________________________
SWI-Prolog mailing list
[email protected]
https://lists.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.