pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/lang



Module Name:    pkgsrc
Committed By:   asau
Date:           Tue Apr 12 23:16:43 UTC 2011

Modified Files:
        pkgsrc/lang/swi-prolog-lite: Makefile Makefile.common PLIST distinfo
        pkgsrc/lang/swi-prolog-packages: PLIST
Added Files:
        pkgsrc/lang/swi-prolog-lite/patches: patch-ae

Log Message:
Update to SWI-Prolog 5.11.18

Notable changes in 5.11.18
--------------------------

Experimental extension to run the development tools in a
separate thread, so you can edit away while your program runs.

Notable changes in 5.11.17
--------------------------

Fix error with quoted wide atoms. This causes write/read to fail
for any term that contains an atom that needs quotes and has
Unicode points >= 256.

This also contains the copy_term/2 patch to exploit sharing ...

Notable changes in 5.11.16
--------------------------

Unicode handling is certainly a step forward wrt. character
classification.  Unicode symbols have been modified to `glue'
like ==, =<, etc.

Finally, there is per-thread CPU statistics for MacOS

Finally, selection handling in the Windows console is a bit better.

Trail-stack usage is now significantly less.

Notable changes in 5.11.15
--------------------------

Revert the change to write_canonical/1

Notable changes in 5.11.14
--------------------------

There is a lot of mostly small fixes. The most notably are changes
to the ODBC interface, which now supports Unicode (at least for queries,
not for all aspects).  It's got a new option to ODBC connections:
the encoding.  The default should work fine on Windows and UTF-8 based
Unix databases.  Thanks to Matt Lilley and Carlo Capelli.

There is quite some reorganisation in the sources due to work on sharing
most of the OS interface and I/O between YAP and SWI and make the setup
of packages such that the makefiles can be shared between SWI and YAP.

Notable changes in 5.11.13
--------------------------

This version fixes some more issues in =@=/2, various minor issues
and may have big impact on trail-stack usage of your program.
It also fixes the reported socket issue with XPCE on Win64.

Notable changes in 5.11.12
--------------------------

This contains some quite important fixes, avoiding simply wrong
answers as well as some crashes.  Besides the usual small stuff,
it has two important rewrites:

  - Standard order comparison now avoids recursion using the C-stack.
    This is a bit of a trial.  Timing shows that processing last-argument
    nested terms is about 10% slower and other nesting is about 50% faster
    and no longer causes uncrontrolled stack-overflows.  This is promising,
    but the amount of work is considerable, notably for this case, where
    the possibility of comparison to raise an exception is new.

  - =@=/2 is completely rewritten.  If you are looking for a challenge,
    there is one in the current version of =@=/2 (variant/2). The
    implementation is in src/pl-prims.c and the test cases in
    src/Tests/core/test_term.pl.  =@=/2 has gone through some
    iterations.  If all is right, the current version

        - Fails as soon as it finds a difference, without processing
          a whole term.
        - Handles rational trees (cyclic terms).
        - Deals with variables shared between the argument terms.

Notable changes in 5.11.11
--------------------------

Top level now reveals the internal `sharing' of subterms in answer
substitutions. This notably deals with cyclic terms.

Notable changes in 5.11.10
--------------------------

Floats are no longer printed through the C-library printf using %g.
Instead, Prolog write writes a float such that reading it back
recontructs a float that is bitwise equivalent (==) to the input.
This is based on a library by David M. Gay.  The output routine uses
the same rules on when to use exponential notation as the GNU C-library's
%g format.  It prints as few as possible digits to reach == equivalence,
but this is typically more than it used to print. If you want fewer digits,
use format/3 (e.g., ~6f) or round (A is round(F*10000)/10000, write(A)).

rdf_reachable/2 now, like rdf_has/3, respects defined RDF predicate properties.
In addition, it provides look-ahead which ensures deterministic success on
the last answer.  This means that rdf_reachable(A, owl:sameAs, B) (with either
or both A and B instantiated) behaves as expected and much more efficiently.

There are a lot of changes to quoted syntax, notably for 0'<char> and
some for quoted atoms.  Except for \e being read as 27 (esc), all sensible
previously valid input is parsed consistently (I wouldn't be surprised if
it is possible to construct cases where you get different output, but I
would be surprised if any real program is affected).  See mailinglist for
details.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 pkgsrc/lang/swi-prolog-lite/Makefile
cvs rdiff -u -r1.9 -r1.10 pkgsrc/lang/swi-prolog-lite/Makefile.common
cvs rdiff -u -r1.10 -r1.11 pkgsrc/lang/swi-prolog-lite/PLIST
cvs rdiff -u -r1.12 -r1.13 pkgsrc/lang/swi-prolog-lite/distinfo
cvs rdiff -u -r0 -r1.4 pkgsrc/lang/swi-prolog-lite/patches/patch-ae
cvs rdiff -u -r1.8 -r1.9 pkgsrc/lang/swi-prolog-packages/PLIST

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



Home | Main Index | Thread Index | Old Index