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