Re: SWI-Prolog Digest, Vol 35, Issue 22

<[email protected]>
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <9F2F52D44F57466D96EA129AF72F43FA@userKomputer>
Hi!

With new Prolog 6.5.1 old problem
(Windows 7, 64-bit) persist:

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Program 
Files\swipl\bin\jpl.dll: Can't find dependent libraries
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(Unknown Source)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at jpl.JPL.loadNativeLibrary(JPL.java:100)
    at jpl.fli.Prolog.<clinit>(Prolog.java:85)
    at jpl.Query.open(Query.java:286)
    at jpl.Util.textToTerm(Util.java:162)
    at jpl.Query.<init>(Query.java:198)
    at Family.main(Family.java:12)

Even simplest JPL examples are not working (see attachment)

With best regards
Ted Szuba
////////////////////////////////////////////////////////////////////////////////////////////

-----Oryginalna wiadomość----- 
From: [email protected]
Sent: Tuesday, August 13, 2013 5:25 AM
To: [email protected]
Subject: SWI-Prolog Digest, Vol 35, Issue 22

Send SWI-Prolog mailing list submissions to
[email protected]

To subscribe or unsubscribe via the World Wide Web, visit
https://lists.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog
or, via email, send a message with subject or body 'help' to
[email protected]

You can reach the person managing the list at
[email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of SWI-Prolog digest..."


Today's Topics:

   1. Re: Is keysort/2 stable? (Jan Wielemaker)
   2. Ann: SWI-Prolog 6.5.1 (Jan Wielemaker)
   3. Re: Ann: SWI-Prolog 6.5.1 (Michael Hendricks)
   4. Min of all solutions (Diego Rafael Di Berardino)
   5. Re: Min of all solutions (Richard A. O'Keefe)


----------------------------------------------------------------------

Message: 1
Date: Mon, 12 Aug 2013 12:00:13 +0200
From: Jan Wielemaker <[email protected]>
To: Boris Vassilev <[email protected]>
Cc: Prolog mailing list <[email protected]>
Subject: Re: [SWIPL] Is keysort/2 stable?
Message-ID: <[email protected]>
Content-Type: text/plain; charset="UTF-8"; format=flowed

I confess that the docs for keysort/2 are poor.  Still, it says:

"The order of multiple elements that have the same Key is not changed."

Cheers --- Jan

On 08/12/2013 11:56 AM, Boris Vassilev wrote:
> Hello,
>
> a short question: is keysort/2 stable? In other words, is there a 
> guarantee
> that elements with equal keys in the input list of pairs will have the 
> same
> order in the output list? This information might be somewhere in the 
> manual
> already but I could not find it.
>
> Thank you all,
> Boris
> -------------- next part --------------
> HTML attachment scrubbed and removed
> _______________________________________________
> SWI-Prolog mailing list
> [email protected]
> https://lists.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog
>



------------------------------

Message: 2
Date: Mon, 12 Aug 2013 22:43:14 +0200
From: Jan Wielemaker <[email protected]>
To: "[email protected]"
<[email protected]>
Subject: [SWIPL] Ann: SWI-Prolog 6.5.1
Message-ID: <[email protected]>
Content-Type: text/plain; charset="UTF-8"

Hi,

I've uploaded SWI-Prolog 6.5.1.  There are a lot of changes.  Highlights:

  - Detection of `semantic singletons' by the compiler.  This proofs
    to result in a quite high percentage of real bugs.  My rough
    estimate is about 1/3th!  And this is on established code!
  - Singleton detection with quasi quotations (do not claim a
    singleton of a QQ introduces a reference to the singleton
    in its expansion).
  - prolog_load_context/2 provides access to variable names.
  - term_expansion/4 and goal_expansion/4 to allow converting
    source layout information.  This goes through most of the
    compiler toplevel, but isn't actually used yet.
  - halt/0 can now be called from threads.  Various fixes to
    program termination, notably for xpce on Windows.
  - JPL dll hassle is hopefully resolved.
  - Cygwin port is updated.
  - Lots of small stuff and cleanup.

Not sure where to go with the stable version.  I first thought just
cherry-picking the clear fixes, but there are so many that I consider
updating to the devel version after the devel version proofs to be
stable.  Please report issues with the above changes.

Enjoy --- Jan


========================================
SWI-Prolog Changelog since version 6.5.0
========================================

* DOC: keysort/2

* ENHANCED: CLP(FD): isolate global_cardinality/2 from user attributes.
   Before:

      %?- put_attr(A, edges, [a]), global_cardinality([A,B,C], [0-_,1-_]).
      %@ false.

   Now:

      %?- put_attr(A, edges, [a]), global_cardinality([A,B,C], [0-_,1-_]).
      %@ put_attr(A, edges, [a]),
      %@ A in 0..1,
      %@ global_cardinality([A, B, C], [0-_G4383, 1-_G4389]),
      %@ B in 0..1,
      %@ _G4383 in 0..3,
      %@ C in 0..1,
      %@ _G4389 in 0..3.

* FIXED: Dummy empty warning if no compiler warning refers to a variable.

* ENHANCED: CLP(FD): Better isolation from user-defined variable
   attributes.  Example:

      :- use_module(library(clpfd)).

      distinct(Vars) :- Vars = [A,B,C,D], all_distinct(Vars), [A,B,C]
              ins 0..2.

   Before:

      %?- put_attr(X, edges, [x]), Vars = [X|_], distinct(Vars).
      %@ false.

   Now:

      %?- put_attr(X, edges, [x]), Vars = [X|_], distinct(Vars).
      %@ Vars = [X, _G1856, _G1859, _G1862],
      %@ put_attr(X, edges, [x]),
      %@ X in 0..2,
      %@ all_distinct([X, _G1856, _G1859, _G1862]),
      %@ _G1856 in 0..2,
      %@ _G1859 in 0..2.

   That is, users can freely use the "edges" attribute themselves.

* ENHANCED: CLP(FD): Remove branch singletons.

* FIXED: Inlined unification must revert to normal unification if occurs
              check is active.

* TEST: compensate for optimization

* FIXED: Mixup in truth of == and \== predictable warnings.  Keri Harris.

* ADDED: Move multiton detection into the compiler, so this compiles
     clean: == t :- (v(_A);v(_A)).  ==

* FIXED: Detection of `multitons' (broken after singleton detection
     extension for dealing with quasi quotations).

* FIXED: myplus/4 in bounds.pl.  Note that bounds is deprecated in
     favour or library(clpfd).  Markus Triska.

* ENHANCED: :- at_halt/1 is now term-expanded, such that reloading the
     file does not re-register the hook.

* FIXED: Apply changes that where missed due to a git conflict

* UPDATED: Handle new PL_on_halt() interface

* MODIFIED: Program termination: - at_halt/1 handlers can veto
       termination of halt/0 by calling
         cancel_halt/1.  - PL_at_halt() handlers now have a declared
       return type.  In
         the future, they will be able to cancel termination by
         returning a non-zero status.  Now a warning is printed.  -
       halt/1 and PL_halt() can be called from any thread.

* FIXED: set_stream/2 issues with recent patch

* ENHANCED: safe_goal/1, various enhancements: - Distinguish undefined
     predicates - Deal with library meta-predicates (security fix) -
     Module aware call/N support - Print context of encountered problem

* CLEANUP: Use DCG // notation for declarations

* FIXED: license/1: list known licenses (found by singleton analysis)

* ENHANCED: read_term/3: singleton detection with quasi
     quotations. Variables appearing only ones are searched in the quasi
     quotation results.  If found there, they are no real singletons.

* ADDED: library(sandbox): added a lot of safe primitives.

* FIXED: safe_goal/1: Catch instantiation_error when trying to proof
     safety of a general goal.

* MODIFIED: Make set_stream/2 behave sensibly on stream pairs. Dani?l
     de Kok.

* CLEANUP: Implementation of set_stream/2.

* ADDED: Singleton checking inside \+

* DOC: var_branches style check

* CLEANUP: Removed two useless assignments

* FIXED: nb rbtrees (singleton)

* MODIFIED: Setting style_check/1 and expects_dialect/1 in ~/.plrc
     changes the default for the session.  The settings used to be
     scoped to the file.  This scoping is now controlled by a new option
     =scope_settings= to load_files/2.

* ADDED: style_check/1: ?- style_check(?(Style)). to return active
     style checks on backtracking.

* DOC: term_expansion/4, etc.

* DOC: Document extended singleton warnings

* DOC: style_check/1 new =no_effect= option

* DOC: user term_expansion is followed by DCG!

* CLEANUP: Avoid new warnings in test cases.  Test cases sometimes use
     ugly code by design ...

* ADDED: compiler warnings for BIPS that have no effect and singleton
     variables in branches (semantic singletons).

* ADDED: Support for warning messages from the compiler

* ADDED: Provide prolog_load_context/2 =variable_names= and implemented
     goal/term expansion with 4 arguments to process layout information.

* FIXED: Default handling in setting (spotted by variable balance
     checking)

* CLEANUP: some documentation glitches

* ADDED: New style-check options.  We will include these into the stable
     branch to avoid warnings on code calling style_check/1.

* TEST: Fixed test code for timeout handling.

* CLEANUP: Removed bogus test

* FIXED: Remove meta_predicate/1 declaration for '|'/2.  This is since
     long not a predicate anymore.

* CLEANUP: Use '$type_error'/2.

* FIXED: Colourise [:|+] meta-declaration.

* CLEANUP: Rename $-predicates in DCG expander. This is not needed since
     this code is in a module. Also removed a lot of outdated comments
     and added some new ones.

* FIXED: base32//1: Singleton I3

* CLEANUP: library(clpp/bounds): singletons.  Not sure whether this
     was intended.

* CLEANUP: Branch singletons

* CLEANUP: Unification against unused variable

* CLEANUP: In DCG, \+ \+ {...} leads to useless unifications.  We now
     use { \+ \+ G }.  That remains silent.  Eventually, this can (and
     should) be improved in the DCG compiler.

* FIXED: Emulated shell commands for non-atom arguments.

* FIXED: library(prolog_pack): parsing of versions with * in them.

* FIXED: Pass thread-reference in all branches

* FIXED: library(prolog_colour) to colour "..." terminals properly

* PORT: Cygwin: install package shared objects in the right
     location. Corinna Vinschen.

* PORT: Updated Cygwin port by Corinna Vinschen

* FIXED: make/0: avoid loading files twice.  Paulo Moura.

* FIXED: PL_thread_engine_attach() did not initialise the thread
     locale. Carlo Capelli.

* FIXED: Make sure the config var SO_PATH is set to PATH in Windows,
     and not WINEPATH.

* CLEANUP: Avoid using SO_PATH for two different purposes

* FIXED: DCG argument of phrase_from_stream/2 is not identified as such
     (meta_predicate/1).



=========
Package R
=========

* FIXED: Mixup of Ruo/Ro variables in r_lines/6

===============
Package archive
===============

* PORT: Deal Win64 off_t handling

===========
Package chr
===========

* ADDED: style_check(-no_effect) to compensate for some unifications
   that have no effect.  Suggests that is some room for optimization.

* CLEANUP: Avoid (extended) singleton warnings.

* FIXED: delete_first_ht/3: Not only compute load, but also update it.

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

* UPDATED: Handle new PL_on_halt() interface

* PORT: Cygwin updates by Corinna Vinschen

===========
Package cpp
===========

* DOC: Document PREDICATE0() and NAMED_PREDICATE()

* ADDED: PREDICATE0(name) as alternative to PREDICATE(name, 0) that
   avoids unused parameter warnings.

* MODIFIED: NAMED_PREDICATE() takes a string as name.

* FIXED: PREDICATE() macro issues

* ADDED: Macros NAMED_PREDICATE() and NAMED_PREDICATE_NONDET() to
   allow defining predicates that have a name that cannot be expressed
   as a C identifier.  This patch also casts unused variables to (void)
   to avoid warnings.  With help from Carlo Capelli.

============
Package http
============

* CLEANUP: More elegant implementation for computing byte-length
   in encoding

* CLEANUP: Branch singletons

* CLEANUP: Another branch singleton.

* FIXED: Singleton in interactive_httpd->authorise causes poor error
   message.

* CLEANUP: Removed detection of unused OpenID NS

* INSTALL: Avoid double installation of shared objects. Corinna Vinschen.

* DOC: Improved documentation of cookie handling


===========
Package jpl
===========

* PORT: Use win_add_dll_directory/1 and generalise the search a bit

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

* CLEANUP: Avoid semantic singleton message

==============
Package plunit
==============

* FIXED: Only share variables between options and body to maintain
   first-var and singleton properties.

* CLEANUP: Singletons

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

* FIXED: Avoid unlocking the RDF store directory twice.

* FIXED: rdfe_undo (bug found by balanced var check)

* FIXED: Loading Turtle from a stream did not reset the stream encoding.

* FIXED: Detecting subjects for turtle writer.

=============
Package space
=============

* FIXED: sem_time_candidate

* FIXED: owl_time_xsd_candidate/3 error spotted by singleton detection.

===============
Package windows
===============

* CLEANUP: Do not ignore return values and delete dead code.

============
Package xpce
============

* FIXED: Locking issue that causes long delays on halt if xpce is
   running in separate thread.

* FIXED: Two new singleton warnings (one was a bug).

* FIXED: Priority issue in GUI term pretty printer

* UPDATED: Handle new PL_on_halt() interface

* ENHANCED: Allow cancelling halt

* CLEANUP: Variable style issues.

* PORT: Rename installation helper xpce-install into xpce-copy to prevent
   Windows from trying to run this program as admin.  Corinna Vinshen.

* FIXED: Start xpce from a background thread.

* PORT: update of the Cygwin port by Corinna Vinschen

* CLEANUP: Avoid more semantic singletons

* FIXED: Semantic singletons.  One fixes a bug in the class
   prolog_predicate.


------------------------------

Message: 3
Date: Mon, 12 Aug 2013 15:59:18 -0600
From: Michael Hendricks <[email protected]>
To: Jan Wielemaker <[email protected]>
Cc: "[email protected]"
<[email protected]>
Subject: Re: [SWIPL] Ann: SWI-Prolog 6.5.1
Message-ID:
<CAFHuXuZxKzA372w1RbFRG-eoD799s5PmHAAkWx_ayjxeSoWSgA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hi Jan,

On Mon, Aug 12, 2013 at 2:43 PM, Jan Wielemaker <[email protected]> wrote:

> I've uploaded SWI-Prolog 6.5.1.  There are a lot of changes.  Highlights:
>
>   - Detection of `semantic singletons' by the compiler.  This proofs
>     to result in a quite high percentage of real bugs.  My rough
>     estimate is about 1/3th!  And this is on established code!
>   - Singleton detection with quasi quotations (do not claim a
>     singleton of a QQ introduces a reference to the singleton
>     in its expansion).
>   - prolog_load_context/2 provides access to variable names.


There's some great stuff in this release.  I'm especially pleased to see
the three changes above.  Kudos!

-- 
Michael
-------------- next part --------------
HTML attachment scrubbed and removed

------------------------------

Message: 4
Date: Tue, 13 Aug 2013 00:15:18 -0300
From: Diego Rafael Di Berardino <[email protected]>
To: [email protected]
Subject: [SWIPL] Min of all solutions
Message-ID:
<CAPEtvvP-XFOseLVAiwy69cc79RrbD-fUoNFPqur7rDf426fRpw@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

how can i get the solution that hs the min value of all solutions of a goal?
-------------- next part --------------
HTML attachment scrubbed and removed


------------------------------

Message: 5
Date: Tue, 13 Aug 2013 15:24:35 +1200
From: "Richard A. O'Keefe" <[email protected]>
To: Diego Rafael Di Berardino <[email protected]>
Cc: [email protected]
Subject: Re: [SWIPL] Min of all solutions
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii


On 13/08/2013, at 3:15 PM, Diego Rafael Di Berardino wrote:

> how can i get the solution that hs the min value of all solutions of a 
> goal?

(1) Get all the solutions.
(2) Pick the one with the minimum value.

That's the easy safe way to do it.

library(aggregate) packages this nicely for you.



------------------------------

_______________________________________________
SWI-Prolog mailing list
[email protected]
https://lists.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog


End of SWI-Prolog Digest, Vol 35, Issue 22
****************************************** 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Family.zip
Type: application/x-zip-compressed
Size: 3830 bytes
Desc: not available
URL: <https://lists.iai.uni-bonn.de/pipermail/swi-prolog/attachments/20130813/6d283279/attachment.zip>
_______________________________________________
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.