Commit graph

10 commits

Author SHA1 Message Date
asau
14fa55c862 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.
2011-04-12 23:16:42 +00:00
asau
597afd655a Update to SWI-Prolog 5.11.9
New in 5.11.9

Lots of changes. Mostly relevant to (semantic) web.
Also some Windows enhancements, such as better errors from sockets
and portability of extended file operations library.


New in 5.11.8

This version is exactly the same as version 5.10.2.
Mostly a bugfixing release.


New 5.11.7

Lots of stuff. The highlight is on environment issues (PlDoc, PceEmacs),
but there is a lot of other stuff as well.
If you use PlDoc, be aware that the previous release has a security issue.


New in 5.11.6

Many bug fixes and big speedup for some RDF applications (notably
those involving many graphs). The rest are mainly minor issues.


New in 5.11.5

This is a bug-fix release. This version also includes some of
the results of the ISO WG17 meeting in Edinburgh.

There is a modification to absolute_file_name/3 with regard to
directory handling.

There is -hopefully- a fix for a weird conflict around Bool when
compiling using Macports.
2010-11-23 21:56:25 +00:00
asau
d8b6a9ff2c Update to SWI-Prolog 5.11.4
Changes in 5.11.4:

 * ADDED: library coinduction.pl, after discussion with Gopal Gupta.
 * CLEANUP: Share more of the Makefiles between Windows and the rest
 * FIXED: destruction of a queue if a thread is waiting to write
 * FIXED: error by current_blob/2.
 * MODIFIED: incorrect handling of (^)/2 in setof/3 and bagof/3.
   The new version should now fully comply to ISO.  As of now,

        - The predicate ^/2 no longer exists
        - ^ is only handled by bagof/setof if it appears
          directly at the toplevel of the 2nd argument.
          E.g., the following is NOT allowed:

            setof(X, (foo(X); Y^foo(Y)), L).

   Code must be rewritten.  At runtime, problems are signalled
   by ^/2 being undefined. compile-time analysis can be achieved using
   gxref/0 (or check/0 for quick-and-dirty).
 * FIXED: GC error when nesting (if->then/*no-else*/) inside \+.
   Thanks to test-case by Keri Harris.
 * FIXED: retractall(x(X,X)).  Roberto Tiella.


Changes in 5.11.3:

 * FIXED: Top level now performs expand_goal/2 *after* correcting the
goal.
 * MODIFIED: PL_CUTTED -> PL_PRUNED.  Kept PL_CUTTED as a #define for
compatibility.
 * FIXED: Correctly read RDF/XML that is in UTF-8 on Windows.
 * ENHANCED: Faster enumeration of subjects for writing small RDF gaphs
 * ENHANCED: Better sizing of the hash-tables.
 * CLEANUP: Use size_t in many places for RDF-DB
 * ADDED: RDF-DB index on +,+,+.  This provides a significant speedup in
   loading databases with multiple objects on the same SP.
 * ADDED: Syntax closer to ISO with set_prolog_flag(iso,true).
   See Prolog flag iso for a detailed description.
 * MAINT: Fix compilation under -DO_DEBUG.  Andy Valencia.
 * FIXED: Syntax: proper bracketing of arguments
 * MODIFIED: Simpler syntax within { }.
   According to 6.3.6 the term within curly brackets is read with
   priority 1201, so no extra parentheses are needed.


Changes in 5.11.2:

 * ADDED: lang_equal/2 to RDF library to test language equality.   Jacco
van Ossenbruggen
 * FIXED: Error from http_absolute_location/3 if an alias is not
defined.
 * FIXED: Avoid error in edit/1 hook if an HTTP path-alias is undefined.
 * ADDED: Just-in-time creation of thread-pools for the HTTP server
using the new hook
   http:create_pool/1.  Cleanup of the code for faster spawning of
worker-threads.
 * MODIFIED: Threaded server defaults: keep-alive-timeout is now 2
seconds (was 5)
   and the worker-count is now 5 (was 2).  Worker-count is increased
because many
   servers need it as since version 5.9.x there is hardly a price for
more workers.
 * ADDED: option hide_children(Bool) to make prefix handlers hide their
children
   and allow http_delete_handler to delete a handler-by-id.
 * PORT: Realise set_end_of_file in Windows version
 * ENHANCED: Implement safe-locking of the RDF persistent database
 * ADDED: set_end_of_stream/1.
 * PORT: Fix for MS VS2010 compilation.  Degski.
 * ADDED: lang_matches/2 to library(rdf_db)
 * FIXED: url_to_filename/2 in rdf_persistency was broken due to
steadfastness
   fix in DCG (commit 1a1a5699).  Jacco van Ossenbruggen.
 * FIXED: list_settings/0.  Li Li.
 * FIXED: handling of = and contains in xpath.  Carsten van Weelden.
 * ADDED: library(semweb/sparql_client) providing a SPARQL client API.
 * ENHANCED: Layout for listing where the body resides in another
module.
 * ENHANCED: Provide style pldoc(Id) with each PlDoc handler
 * ADDED: reply_html_page/3: re-stylable HTML pages
 * FIXED: Possible crash in cleanup handlers.
   See comment above discardChoicesAfter() for more details.
 * ENHANCED: Make it possible to give syntax-warnings with exact
positions.
 * ADDED: Warnings for missing quotes for , and |
 * MODIFIED: Stricter list syntax. E.g. [a,b|c,d] or [a|b|c] are now
illegal.
   In the unlikely case this was intended, the term after the bar (|)
must be
   enclosed in brackets.  I.e. [a,b|(c,d)] or [a|(b|c)].
 * FIXED: Syntax: proper quoting of | and ,
 * PORT: Improve behavioral consistency between 32-bit and 64-bit
allocation
 * FIXED: Memory leak for threads allocating chunks of 512 bytes.  Matt
Lilley.
 * ADDED: computing SHA incrementally.  Ivan Shmakov
 * INSTALL: Item#567: make check of xpce loading user's .plrc
 * FIXED: steadfastness in DCG translation. Item#379
 * FIXED: Item#559: hanging system in GC.  Only affects 32-bit platforms
   when doing GC on large stacks that have >8Mb chunks of continuous
   garbage. Ulrich Neumerkel.
 * DOC: errors for atom_length/2.  Ulrich Neumerkel.
 * ADDED: Library(http/js_write) to embed JavaScript calls into HTML
pages
 * FIXED: Processing of stack-limit options in thread_create/3.  Jacco.
 * FIXED: Avoid direct access to private predicates of module error.
 * ADDED: rdf_reachable/5, providing a distance limit and returning the
distance.
 * ADDED: rdf_is_resource/1 and rdf_is_literal/1 for completeness.
 * FIXED: Thread-creation if ulimit -s == infinite.
 * FIXED: Do not skip character after . in turtle parser.  Lourens van
der Meij.
 * PORT: Windows snprintf --> _snprintf
 * MODIFIED: On systems that provide getrlimit(), the default
C-stack-size of
   created threads is the same as that of the main thread.  This was
already
   the default on Linux, but not on e.g. MacOS.
 * ADDED: statistics(c_stack, StackSize) to query the system (C-)stack
limit.
   For consistency, thread_create now also accepts c_stack as parameter.
   This patch also cleans some type-issues with regard to stack-size
   specification and removes 2Gb limit for Win64 due to the use of long.
 * ADDED: Skos prefix
 * ADDED: http_server_property/2.  This patch also does some cleanup to
   the meta-predicate declarations for the multi-threaded HTTP server.
 * FIXED: Check for integer overflows in numeric-arguments for
format-specifiers
 * FIXED: Possible buffer overflow on format('~200f', [1]).  Mike
Elston.
 * ADDED: library(http/http_openid), supporting OpenID consumers and a
server.
 * ADDED: library(http/http_host) to obtain the public hostname of our
HTTP service
 * CLEANUP: Stricter type-checking in load_files/2.  Discussion on
comp.lang.prolog.
 * FIXED: Old naming conventions.  Julian Zubek.
 * FIXED: Atom-GC for blobs that do not have PL_BLOB_UNIQUE.  Samer
Abdallah.
 * ADDED: Allow for selective importing of operators in use_module/2.
   After discussion with Vitor.
 * PORT: Do not use chrpath if the kernel is not a shared object
 * PORT: Some type-issues in socket libs (nonblockio.c)
   I do not think any of these could have been fatal.  They just produce
   alarming messages from the compiler.


Changes in 5.11.1:

 * PORT: Windows: make fake EWOULDBLOCK error compatible with new def in
VS2010
 * PORT: Fix download of Windows prerequisites for Windows 7.  Degski.
 * ADDED: Support for "406 Not Acceptable" responses in the HTTP server.
 * INSTALL: make prepare check all checked-out modules, regardless of
-a.
 * FIXED: Cleanup after uncaught stack-overflow exceptions.  Paul
Singleton.
 * DOC: Fixed code for skeleton client.  Mike Elston.
 * FIXED: ?= for cases where the arguments do not unify.  Marco Montali.
 * FIXED: Possible crash on stack-shift in cleanup handler.  Jochem
Liem.
 * FIXED: Possibly wrong association of $and in frozen/2.  Samer
Abdallah.
 * FIXED: Handling option register_namespaces(true) in rdf_load/2.
   Vangelis Vassiliadis.
 * MODIDIED: rdf_assert/4 now discards *complete* duplicates (incl
source).
 * PORT: Avoid including termios.h into pl-os.h to localise the
dependencies
   and (hopefully) make the system compile on Solaris.
 * PORT: Get prototype for posix_openpt(), avoiding warning
 * PORT: Move time-dependencies where they are needed; use POSIX
   clock_gettime() if it is provided.
 * DOC: Enhance comments of rb_insert/4 and rb_insert_new/4.
 * MODIFIED: Make rdf_meta/1 module-aware.  This means that calls are
   only expanded if they resolve to the exact predicate that is declared
   using rdf_meta.  This might break code relying on the old behaviour
   that expansion took place regardless of the module.

   It is possible to get a warning on calls that used to be expanded
   and are now not using this call before *loading* the program:

        ?- debug(rdf_meta).

   The new code also expands NS:Local appearing literally in the head
   of rdf_meta-declared clauses.
2010-08-18 22:32:00 +00:00
asau
3921b7c80e Update to SWI-Prolog 5.11.0
Notable changes in SWI-Prolog 5.11.0:

* ODBC now properly handles locale.  This means you can
  use it with Unicode if you use a UTF-8 based locale.

* Recently reported manifest problems around xpce should be
  fixed with help from Degski.

* Message queues can now be destroyed while they have suspended
  writers, making pipe-like cooperation between threads much easier.

* Using set_prolog_flag(qcompile, auto), you can ask the system
  to automatically maintain quick-load versions of your source-files.
  This can greatly improve development comfort for really large
  applications.

* Jeff Rosenwald contributed an interface for Google protocol buffers


Notable changes in SWI-Prolog 5.9.10:

* A lot of stuff has been added to enhance the compatibility to SICStus.
  This involves some changes to the kernel, some additions to the libraries
  and starting and populating a SICStus emulation layer.  All this was
  initiated by the with to make the Alpino NLP parser suite
  (http://www.let.rug.nl/vannoord/alp/Alpino/) available for SWI-Prolog.
  Thanks to Gertjan van Noord, this is now almost reality (there
  are some remaining tweaks, notably with the Tcl/Tk interface).

* Also various enhancements and fixes to the tabbed-editing support for
  the built-in editor.
2010-05-16 18:46:10 +00:00
asau
87ad9ed6d9 Update to SWI Prolog 5.9.7.
Lots of changes since 5.6.17.
2010-02-10 21:56:40 +00:00
wiz
601583c320 Whitespace cleanup, courtesy of pkglint.
Patch provided by Sergey Svishchev in private mail.
2007-02-22 19:26:05 +00:00
kristerw
184f235ac1 Update swi-prolog* to 5.6.17.
The 5.6.x release consolidates the 5.5.x development stream started in 2004.
Highlights:
* UNICODE character set support
* Unbounded integer arithmetic and rational numbers
* New and faster CHR release
* Added clp(r) constraints over reals
* Many enhancements to the web and notably sematic web libraries
* Much more ...
2006-08-02 15:15:35 +00:00
rillig
b71a1d488b Fixed pkglint warnings. The warnings are mostly quoting issues, for
example MAKE_ENV+=FOO=${BAR} is changed to MAKE_ENV+=FOO=${BAR:Q}. Some
other changes are outlined in

    http://mail-index.netbsd.org/tech-pkg/2005/12/02/0034.html
2005-12-05 20:49:47 +00:00
hubertf
dabd290937 This pkg is no longer in wip. Adjust path to distinfo and patch files. 2004-05-27 22:37:04 +00:00
hubertf
703cfec78c move over swi-prolog-lite from pkgsrc-wip 2004-05-20 11:09:16 +00:00