<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-448</id>
	<title>Nabble - SWI Prolog</title>
	<updated>2009-11-10T00:21:05Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/SWI-Prolog-f448.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/SWI-Prolog-f448.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26279817</id>
	<title>Re: bagof/3 in 5.8.0</title>
	<published>2009-11-10T00:21:05Z</published>
	<updated>2009-11-10T00:21:05Z</updated>
	<author>
		<name>Jan Wielemaker-3</name>
	</author>
	<content type="html">On Tue, 2009-11-10 at 08:59 +0100, Bart Demoen wrote:
&lt;br&gt;&amp;gt; Have you looked at the bagof/setof implementation in XSB ?
&lt;br&gt;&lt;br&gt;No. &amp;nbsp;The previous rewrite was modeled after YAP, with
&lt;br&gt;introduction of some more complexity and bugs :-) &amp;nbsp;Before
&lt;br&gt;we all try to analyse how XSB's work while I guess you already
&lt;br&gt;did so, it might be wise to add a few words how it is done
&lt;br&gt;differently and what advantage that can bring :-)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Cheers --- Jan
&lt;br&gt;&lt;br&gt;&amp;gt; Bart Demoen
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Disclaimer: &lt;a href=&quot;http://www.kuleuven.be/cwis/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.kuleuven.be/cwis/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26279817&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/bagof-3-in-5.8.0-tp26184799p26279817.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26279653</id>
	<title>Re: bagof/3 in 5.8.0</title>
	<published>2009-11-09T23:59:01Z</published>
	<updated>2009-11-09T23:59:01Z</updated>
	<author>
		<name>Bart Demoen-2</name>
	</author>
	<content type="html">&lt;br&gt;Have you looked at the bagof/setof implementation in XSB ?
&lt;br&gt;&lt;br&gt;Bart Demoen
&lt;br&gt;&lt;br&gt;Disclaimer: &lt;a href=&quot;http://www.kuleuven.be/cwis/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.kuleuven.be/cwis/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26279653&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/bagof-3-in-5.8.0-tp26184799p26279653.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26276195</id>
	<title>Re: bagof/3 in 5.8.0</title>
	<published>2009-11-09T16:15:24Z</published>
	<updated>2009-11-09T16:15:24Z</updated>
	<author>
		<name>Ulrich Neumerkel</name>
	</author>
	<content type="html">Jan Wielemaker:
&lt;br&gt;&amp;gt;I agree that in the ideal world current subsumes_chk/2 should have been
&lt;br&gt;&amp;gt;called subsumes/2. &amp;nbsp;I don't think we can change that anymore. &amp;nbsp;I'm
&lt;br&gt;&amp;gt;happy to drop subsumes/2 from a standard proposal. &amp;nbsp;I'm also happy
&lt;br&gt;&amp;gt;do drop the interaction with the occurs-check (I'll have a look at
&lt;br&gt;&amp;gt;that now).
&lt;br&gt;&lt;br&gt;So we (both) agree to consider subsumes_chk/2 now. &amp;nbsp;We also agree that
&lt;br&gt;subsumes_chk/2 should not consider constraints? &amp;nbsp;And that
&lt;br&gt;&lt;br&gt;?- freeze(X, nimporte), subsumes_chk(_,X).
&lt;br&gt;&lt;br&gt;succeeds instead trying to execute nimporte? &amp;nbsp;Idem
&lt;br&gt;&lt;br&gt;?- freeze(X, nimporte), subsumes_chk(X,X).
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Otherwise, in normally I follow standardization.
&lt;br&gt;&lt;br&gt;Please note that there is nothing definitive about these predicates at
&lt;br&gt;all. &amp;nbsp;We had one discussion about core (N208) so far in one meeting.
&lt;br&gt;It would not be the first time that seemingly consistent proposals
&lt;br&gt;then are reconsidered again and again. &amp;nbsp;And - always - this has been
&lt;br&gt;for good.
&lt;br&gt;&lt;br&gt;The only thing definitive is the ballot (when it is passed, or fails
&lt;br&gt;too often...).
&lt;br&gt;&lt;br&gt;&amp;gt;Oh, and I very much welcome a standardization forum disconnected from
&lt;br&gt;&amp;gt;vendor/personal pages. &amp;nbsp;Its good that there is a lot of discussion here,
&lt;br&gt;&amp;gt;but it would be better that if the topic is not specific to SWI-Prolog
&lt;br&gt;&amp;gt;that it is discussed in a place where other vendors listen and can feel
&lt;br&gt;&amp;gt;`at home'.
&lt;br&gt;&lt;br&gt;Prior to going out into the large, it is helpful to discuss things in
&lt;br&gt;the small - and SWI users are very constructive. &amp;nbsp;It does not make
&lt;br&gt;much sense to discuss things within WG17 if SWI people find all kinds
&lt;br&gt;of holes. &amp;nbsp;After all, good quality of a proposal helps a lot. &amp;nbsp;Think
&lt;br&gt;of number_codes/2 ...
&lt;br&gt;&lt;br&gt;And so far, I got two (2) constructive replies from the standard
&lt;br&gt;mailing list when collecting informations about the current practice
&lt;br&gt;of evaluable functors and built-in predicates and one (1) complaint.
&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276195&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/bagof-3-in-5.8.0-tp26184799p26276195.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26275459</id>
	<title>Re: bagof/3 in 5.8.0</title>
	<published>2009-11-09T15:11:37Z</published>
	<updated>2009-11-09T15:11:37Z</updated>
	<author>
		<name>Ulrich Neumerkel</name>
	</author>
	<content type="html">Jan Wielemaker:
&lt;br&gt;&amp;gt;I removed the reordering argument. &amp;nbsp;If I understand things correctly
&lt;br&gt;&amp;gt;whether or not reordering is needed will be a decision for all bags,
&lt;br&gt;&amp;gt;not something to be done on bag-by-bag basis.
&lt;br&gt;&lt;br&gt;There is need for resorting, if the findall found free variables
&lt;br&gt;shared between the Witness and the Solution and those variables are of
&lt;br&gt;relevance in the sort/2 such that when binding the free variables to
&lt;br&gt;one instance, the list is no longer sorted. &amp;nbsp;So this is a very complex
&lt;br&gt;dynamic property. &amp;nbsp;The easiest way to find out that property is to see
&lt;br&gt;if resorting will change anything :-).
&lt;br&gt;&lt;br&gt;The patch I sent you (got it per mail?) should fix the (in my opinion)
&lt;br&gt;only reasonable case, which is where the free variables are all
&lt;br&gt;ground.
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.complang.tuwien.ac.at/ulrich/swi-prolog/git/0002-ENHANCED-Avoid-double-sorting-in-setof-3-for-the-com.patch&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.complang.tuwien.ac.at/ulrich/swi-prolog/git/0002-ENHANCED-Avoid-double-sorting-in-setof-3-for-the-com.patch&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;gt;	'$e_free_variables'(Templ^Goal, Vars),
&lt;br&gt;&amp;gt;	( &amp;nbsp; Vars == v
&lt;br&gt;&lt;br&gt;I could have sworn that '$e_free_variables'/2 produces []! &amp;nbsp;How
&lt;br&gt;suggestive code can be.
&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26275459&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/bagof-3-in-5.8.0-tp26184799p26275459.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26275038</id>
	<title>Re: bagof/3 in 5.8.0</title>
	<published>2009-11-09T14:37:16Z</published>
	<updated>2009-11-09T14:37:16Z</updated>
	<author>
		<name>Ulrich Neumerkel</name>
	</author>
	<content type="html">Bart Demoen:
&lt;br&gt;&amp;gt;ps. ever seen bagof/3 goals with an underscore (explicit anonymous
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;variable) in the second argument ? in other contexts, _ means &amp;quot;I am
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;not interested in that part of the answer&amp;quot; - in bagof/3 it means
&lt;br&gt;&lt;br&gt;To finish your sentence: in both setof/3 and bagof/3 anonymous
&lt;br&gt;variables will cause to enumerate alternate (and thus invisible)
&lt;br&gt;solutions. &amp;nbsp;This is not intuitive to Prolog programmers. &amp;nbsp;In fact, I
&lt;br&gt;would like to see one case where an _ is used for good within setof/3
&lt;br&gt;or bagof/3. &amp;nbsp;I mean in the second argument, indeed. &amp;nbsp;The idiom
&lt;br&gt;setof(t, Goal, _) is very useful.
&lt;br&gt;&lt;br&gt;There is one remedy to this: library(lambda)! &amp;nbsp;With it, _ gets its
&lt;br&gt;meaning back! &amp;nbsp;See the last example at:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.complang.tuwien.ac.at/ulrich/Prolog-inedit/ISO-Hiord#setof&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.complang.tuwien.ac.at/ulrich/Prolog-inedit/ISO-Hiord#setof&lt;/a&gt;&lt;br&gt;&lt;br&gt;In the long term lambdas should be compiled much like
&lt;br&gt;library(apply_macros). &amp;nbsp;At least I made sure that they can be compiled
&lt;br&gt;- for the meaningful cases. &amp;nbsp;Then, there would be no overhead at all.
&lt;br&gt;&lt;br&gt;&lt;br&gt;(Sorry for this advertisement, but every time I post this I get some
&lt;br&gt;response form people who have not seen it.)
&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26275038&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/bagof-3-in-5.8.0-tp26184799p26275038.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26273044</id>
	<title>Re: enabling clpfd in a program</title>
	<published>2009-11-09T12:12:26Z</published>
	<updated>2009-11-09T12:12:26Z</updated>
	<author>
		<name>Bart Demoen-2</name>
	</author>
	<content type="html">&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Current Problem: cannot load the clpfd library
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; use_module(library(clpfd)).
&lt;br&gt;&lt;br&gt;try
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :- use_module(library(clpfd)).
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&lt;br&gt;Bart Demoen
&lt;br&gt;&lt;br&gt;Disclaimer: &lt;a href=&quot;http://www.kuleuven.be/cwis/email_disclaimer.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.kuleuven.be/cwis/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273044&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/enabling-clpfd-in-a-program-tp26272894p26273044.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26272894</id>
	<title>enabling clpfd in a program</title>
	<published>2009-11-09T12:03:18Z</published>
	<updated>2009-11-09T12:03:18Z</updated>
	<author>
		<name>schemelab</name>
	</author>
	<content type="html">In the program below, I cannot load the clpfd library for use in the
&lt;br&gt;program. But I want to use the #= operator so I must load it. Please
&lt;br&gt;advise on how to get the module import statement working:
&lt;br&gt;&lt;br&gt;/*
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Exercise:
&lt;br&gt;&amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://cs.union.edu/~striegnk/learn-prolog-now/html/node26.html#subsec.l3.ex2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cs.union.edu/~striegnk/learn-prolog-now/html/node26.html#subsec.l3.ex2&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Binary functor naming convention:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;F(X,Y) means X is an F of Y
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;example:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;child(X,Y) means X is a child of Y
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;Current Problem: cannot load the clpfd library
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;*/
&lt;br&gt;&lt;br&gt;use_module(library(clpfd)).
&lt;br&gt;&lt;br&gt;&lt;br&gt;descendant(X,Y,1) :- child(X,Y).
&lt;br&gt;&lt;br&gt;descendant(X,Y,N) :-
&lt;br&gt;&amp;nbsp; N #= N1 + N2,
&lt;br&gt;&amp;nbsp; descendant(X1, Y, N1),
&lt;br&gt;&amp;nbsp; descendant(X, X1, N2),
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;child(c, assembler).
&lt;br&gt;child(cplus, c).
&lt;br&gt;child(d, cplus).
&lt;br&gt;child(perl, c).
&lt;br&gt;child(perl, shell).
&lt;br&gt;&lt;br&gt;&lt;br&gt;parent(X,Y) :- child(Y,X).
&lt;br&gt;grandparent(X,Y) :- descendant(X,Y,2).
&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26272894&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/enabling-clpfd-in-a-program-tp26272894p26272894.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26266003</id>
	<title>Re: Compiling the stack shifter</title>
	<published>2009-11-09T04:54:09Z</published>
	<updated>2009-11-09T04:54:09Z</updated>
	<author>
		<name>Nicolas Pelletier-2</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;On Mon, Nov 9, 2009 at 21:36, Jan Wielemaker &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26266003&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;J.Wielemaker@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Works for me, unless you followed the option to set -DSECURE_GC. This
&lt;br&gt;&amp;gt; makes GC *much* slower and for compiling CHR it really takes long (30
&lt;br&gt;&amp;gt; minutes or so) to compile in this mode.
&lt;br&gt;&lt;br&gt;Indeed, I was using -DSECURE_GC...
&lt;br&gt;&lt;br&gt;&amp;gt; The current version seems pretty stable.  I advice compiling with the
&lt;br&gt;&amp;gt; normal flags until you get a crash.  Then you can recompile the Prolog
&lt;br&gt;&amp;gt; kernel by editing src/Makefile and set
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;        COFLAGS=-gdwarf-2 -g3 -DSECURE_GC -fno-strict-aliasing
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Now, run make clean &amp;&amp; make &amp;&amp; make install in src only.  If this
&lt;br&gt;&amp;gt; makes your system too slow, drop -DSECURE_GC.  If you get a crash,
&lt;br&gt;&amp;gt; I can give some hints for debugging.
&lt;br&gt;&lt;br&gt;Thank you for the hint :-)
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Nicolas
&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26266003&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-the-stack-shifter-tp26265469p26266003.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26265825</id>
	<title>Ann: plosc 0.2 - OSC library</title>
	<published>2009-11-09T04:40:52Z</published>
	<updated>2009-11-09T04:40:52Z</updated>
	<author>
		<name>Samer Abdallah</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;Just wanted to say that a new version of the OSC library
&lt;br&gt;is now available from the GIT repository at
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://prolog.cs.vu.nl/git/contrib/plosc.git&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://prolog.cs.vu.nl/git/contrib/plosc.git&lt;/a&gt;&lt;br&gt;&lt;br&gt;The chief addition since the initial version is the ability
&lt;br&gt;to receive OSC messages and their arguments and to
&lt;br&gt;process them in Prolog, eg
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; osc_mk_server(7770, S),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; osc_add_handler(S, '/foo', [string(_), float(_)], foo),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; osc_start_server(S).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...
&lt;br&gt;&lt;br&gt;foo(Message, [string(S), float(X)]) :-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; format('received ~w: ~w, ~w\n', [Message,S,X]).
&lt;br&gt;&lt;br&gt;I'm using liblo to implement the OSC server, which ensures
&lt;br&gt;that time-stamped messages are properly scheduled and
&lt;br&gt;therefore not dispatched to their Prolog handlers until the
&lt;br&gt;proper time.
&lt;br&gt;&lt;br&gt;cheers,
&lt;br&gt;Samer.
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26265825&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Ann%3A-plosc-0.2---OSC-library-tp26265825p26265825.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26265754</id>
	<title>Re: Compiling the stack shifter</title>
	<published>2009-11-09T04:36:05Z</published>
	<updated>2009-11-09T04:36:05Z</updated>
	<author>
		<name>Jan Wielemaker-3</name>
	</author>
	<content type="html">On Monday 09 November 2009 01:13:53 pm Nicolas Pelletier wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; While compiling the stack shifter, the compilation seems to get stuck
&lt;br&gt;&amp;gt; on chr. The last trace I get is:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ../pl.sh -L50M -G50M -T20M -p chr=. -q -f ./chr_swi_bootstrap.pl \
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -g
&lt;br&gt;&amp;gt; &amp;quot;chr_compile_step4('guard_entailment.chr','guard_entailment.pl'),halt&amp;quot;
&lt;br&gt;&amp;gt; \
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -t 'halt(1)'
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ... and from that point on, the compilation process takes up 100% cpu
&lt;br&gt;&amp;gt; and does not seem to make any progress. Has anyone already seen this?
&lt;/div&gt;&lt;br&gt;Works for me, unless you followed the option to set -DSECURE_GC. This
&lt;br&gt;makes GC *much* slower and for compiling CHR it really takes long (30
&lt;br&gt;minutes or so) to compile in this mode.
&lt;br&gt;&lt;br&gt;The current version seems pretty stable. &amp;nbsp;I advice compiling with the
&lt;br&gt;normal flags until you get a crash. &amp;nbsp;Then you can recompile the Prolog
&lt;br&gt;kernel by editing src/Makefile and set
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; COFLAGS=-gdwarf-2 -g3 -DSECURE_GC -fno-strict-aliasing
&lt;br&gt;&lt;br&gt;Now, run make clean &amp;&amp; make &amp;&amp; make install in src only. &amp;nbsp;If this
&lt;br&gt;makes your system too slow, drop -DSECURE_GC. &amp;nbsp;If you get a crash,
&lt;br&gt;I can give some hints for debugging.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --- Jan
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26265754&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-the-stack-shifter-tp26265469p26265754.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26265469</id>
	<title>Compiling the stack shifter</title>
	<published>2009-11-09T04:13:53Z</published>
	<updated>2009-11-09T04:13:53Z</updated>
	<author>
		<name>Nicolas Pelletier-2</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;While compiling the stack shifter, the compilation seems to get stuck
&lt;br&gt;on chr. The last trace I get is:
&lt;br&gt;&lt;br&gt;../pl.sh -L50M -G50M -T20M -p chr=. -q -f ./chr_swi_bootstrap.pl \
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -g
&lt;br&gt;&amp;quot;chr_compile_step4('guard_entailment.chr','guard_entailment.pl'),halt&amp;quot;
&lt;br&gt;\
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -t 'halt(1)'
&lt;br&gt;&lt;br&gt;... and from that point on, the compilation process takes up 100% cpu
&lt;br&gt;and does not seem to make any progress. Has anyone already seen this?
&lt;br&gt;&lt;br&gt;Thanks in advance for your help,
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Nicolas
&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26265469&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-the-stack-shifter-tp26265469p26265469.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26263920</id>
	<title>Re: Ann: Windows binary previews (fixed)</title>
	<published>2009-11-09T02:13:58Z</published>
	<updated>2009-11-09T02:13:58Z</updated>
	<author>
		<name>Jan Wielemaker-3</name>
	</author>
	<content type="html">Jacques,
&lt;br&gt;&lt;br&gt;I can't really comment on that. I guess it is an issue between the VC9
&lt;br&gt;runtime library and the Pascal runtime system. But for what and how to
&lt;br&gt;debug it and hack around it, I guess you need a Windows/VC*/Pascal
&lt;br&gt;expert. I'm none of those. I'd start searching the internet for issues
&lt;br&gt;embedding multi-threaded VC9 components into Pascal. &amp;nbsp;I don't really
&lt;br&gt;see how this has anything to do with Prolog itself.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Sorry --- Jan
&lt;br&gt;&lt;br&gt;On Sunday 08 November 2009 06:38:06 pm j.gressier wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I now get this message when I run the program (XP 32 bits) :
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------ message
&lt;br&gt;&amp;gt; Runtime error!
&lt;br&gt;&amp;gt; Program c:\..........myprogram.exe
&lt;br&gt;&amp;gt; R6034
&lt;br&gt;&amp;gt; An application has made an attempt to load the C runtime library
&lt;br&gt;&amp;gt; incorrectly. ------------------ end message
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Swi-prolog is embedded.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It is initialized by (Pascal code):
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; argv[0]:=StrNew(PChar('libpl.dll'));
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; argv[1]:=StrNew(PChar('-x'));
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; argv[2]:=StrNew(PChar(lib));
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; if not(( PL_initialise(3, argv) = 1 )) &amp;nbsp; &amp;nbsp;then showmessage ('Impossible
&lt;br&gt;&amp;gt; d''initialiser l''environnement');
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It crashes in PL_initialise.
&lt;br&gt;&amp;gt; PL_initialise is declared thus :
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; function PL_initialise(argc: Integer; argv: array of PChar): Integer;
&lt;br&gt;&amp;gt; cdecl; external 'libpl.dll';
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Best reagards
&lt;br&gt;&amp;gt; Jacques Gressier
&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26263920&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Ann%3A-Windows-binary-previews-tp26234462p26263920.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26255960</id>
	<title>Re: Ann: Windows binary previews (fixed)</title>
	<published>2009-11-08T09:38:06Z</published>
	<updated>2009-11-08T09:38:06Z</updated>
	<author>
		<name>j.gressier</name>
	</author>
	<content type="html">&lt;p style=&quot;margin:0;padding:0;&quot; align=&quot;left&quot;&gt;Hi,&lt;br /&gt;&lt;br /&gt;I now get this message when I run the program (XP 32 bits) :&lt;br /&gt;&lt;br /&gt;------------------ message&lt;br /&gt;Runtime error!&lt;br /&gt;Program c:\..........myprogram.exe&lt;br /&gt;R6034&lt;br /&gt;An application has made an attempt to load the C runtime library incorrectly.&lt;br /&gt;------------------ end message&lt;br /&gt;&lt;br /&gt;Swi-prolog is embedded. &lt;br /&gt;&lt;br /&gt;It is initialized by (Pascal code):&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; argv[0]:=StrNew(PChar('libpl.dll'));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; argv[1]:=StrNew(PChar('-x'));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; argv[2]:=StrNew(PChar(lib));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not(( PL_initialise(3, argv) = 1 ))&amp;nbsp;&amp;nbsp;&amp;nbsp; then showmessage ('Impossible d''initialiser l''environnement');&lt;br /&gt;&lt;br /&gt;It crashes in PL_initialise. &lt;br /&gt;PL_initialise is declared thus :&lt;br /&gt;&lt;br /&gt;function PL_initialise(argc: Integer; argv: array of PChar): Integer; cdecl; external 'libpl.dll'; &lt;br /&gt;&lt;br /&gt;Best reagards&lt;br /&gt;Jacques Gressier&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;blockquote style=&quot;border-left: 2px solid #ff0000; padding-left: 5px; margin-left: 5px&quot;&gt;&amp;gt; Message du 08/11/09 18:06&lt;div class='shrinkable-quote'&gt;&lt;br /&gt;&amp;gt; De : &amp;quot;Jan Wielemaker&amp;quot; &lt;br /&gt;&amp;gt; A : &amp;quot;Joel Foutelet&amp;quot; &lt;br /&gt;&amp;gt; Copie &amp;agrave; : &amp;quot;SWI-Prolog mailinglist&amp;quot; &lt;br /&gt;&amp;gt; Objet : Re: [SWIPL] Ann: Windows binary previews (fixed)&lt;br /&gt;&amp;gt;&lt;br /&gt;&amp;gt; &lt;br /&gt;&amp;gt; On Sun, 2009-11-08 at 15:16 +0100, Joel Foutelet wrote:&lt;br /&gt;&amp;gt; &amp;gt; Hi Jan&lt;br /&gt;&amp;gt; &amp;gt; &lt;br /&gt;&amp;gt; &amp;gt; I must say that today, after the restart of my PC  I have not this problem &lt;br /&gt;&amp;gt; &amp;gt; anymore.&lt;br /&gt;&amp;gt; &amp;gt; May be my machine was tired ...&lt;br /&gt;&amp;gt; &lt;br /&gt;&amp;gt; Happens with Windows machines :-)&lt;br /&gt;&amp;gt; &lt;br /&gt;&amp;gt; More news: library(time) was broken due to a bug in the VC9 runtime&lt;br /&gt;&amp;gt; library (calling signal()) with anything except for a few reserved&lt;br /&gt;&amp;gt; signal numbers crashes the program.&lt;br /&gt;&amp;gt; &lt;br /&gt;&amp;gt; So, the Windows version now uses the same scheduling thread as the&lt;br /&gt;&amp;gt; other platforms, removing the alarm() limits and this library should&lt;br /&gt;&amp;gt; work in both the 64-bit and 32-bits versions.&lt;br /&gt;&amp;gt; &lt;br /&gt;&amp;gt; The installers are replaced.&lt;br /&gt;&amp;gt; &lt;br /&gt;&amp;gt; 	Cheers --- Jan&lt;br /&gt;&amp;gt; &lt;br /&gt;&amp;gt; _______________________________________________&lt;br /&gt;&amp;gt; SWI-Prolog mailing list&lt;br /&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26255960&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;&lt;br /&gt;&amp;gt; https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;br /&gt;&amp;gt; &lt;br /&gt;&amp;gt; &lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style=&quot;margin:0;padding:0;&quot;&gt;Cordialement&lt;br /&gt;Jacques Gressier&lt;br /&gt;mail : &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26255960&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;j.gressier@...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;site : http://perso.wanadoo.fr/jgressier&lt;br /&gt;&lt;/p&gt;&lt;BR&gt;&lt;BR&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;middle&quot;&gt;&lt;img style=&quot;margin: 0pt;&quot; src=&quot;http://webmail.laposte.net/webmail/fr_FR/panels/images/logo10ans.jpg&quot; alt=&quot;Logo10ans&quot; width=&quot;122&quot; height=&quot;150&quot;&gt;&lt;/td&gt;&lt;td valign=&quot;middle&quot;&gt;&lt;p style=&quot;border-top: 1px dashed rgb(215, 0, 103); border-bottom: 1px dashed rgb(215, 0, 103); padding: 20px 0pt;&quot;&gt;Gratuite, garantie à vie et déjà utilisée par des millions d'internautes... &lt;br&gt;vous aussi, pour votre adresse e-mail, choisissez &lt;a style=&quot;color: rgb(215, 0, 103); text-decoration: underline;&quot; target=&quot;_blank&quot; href=&quot;https://compte.laposte.net/inscription/index.do?jeux=10ANSFOOTER&quot; rel=&quot;nofollow&quot;&gt;laposte.net&lt;/a&gt;. &lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-family: Time New Roman,serif; font-size: 16px; color: rgb(215, 0, 103);&quot;&gt;&lt;b&gt;Laposte.net&lt;/b&gt;, bien + qu'une messagerie&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/body&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Ann%3A-Windows-binary-previews-tp26234462p26255960.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26255697</id>
	<title>AIPR-10 Call for papers</title>
	<published>2009-11-08T09:12:07Z</published>
	<updated>2009-11-08T09:12:07Z</updated>
	<author>
		<name>Edw1</name>
	</author>
	<content type="html">AIPR-10 Call for papers
&lt;br&gt; 
&lt;br&gt;The 2010 International Conference on Artificial Intelligence and Pattern Recognition (AIPR-10) will be held during 12-14 of July 2010 in Orlando, FL, USA. AIPR is an important event in the areas of Artificial Intelligence (AI) as well as Pattern Recognition (PR) and focuses on all areas of AI, PR and related topics. The conference will be held at the same time and location where several other major international conferences will be taking place. The conference will be held as part of 2010 multi-conference (MULTICONF-10)_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26255697&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/AIPR-10-Call-for-papers-tp26255697p26255697.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26255614</id>
	<title>Re: Ann: Windows binary previews (fixed)</title>
	<published>2009-11-08T09:04:12Z</published>
	<updated>2009-11-08T09:04:12Z</updated>
	<author>
		<name>Jan Wielemaker-3</name>
	</author>
	<content type="html">On Sun, 2009-11-08 at 15:16 +0100, Joel Foutelet wrote:
&lt;br&gt;&amp;gt; Hi Jan
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I must say that today, after the restart of my PC &amp;nbsp;I have not this problem 
&lt;br&gt;&amp;gt; anymore.
&lt;br&gt;&amp;gt; May be my machine was tired ...
&lt;br&gt;&lt;br&gt;Happens with Windows machines :-)
&lt;br&gt;&lt;br&gt;More news: library(time) was broken due to a bug in the VC9 runtime
&lt;br&gt;library (calling signal()) with anything except for a few reserved
&lt;br&gt;signal numbers crashes the program.
&lt;br&gt;&lt;br&gt;So, the Windows version now uses the same scheduling thread as the
&lt;br&gt;other platforms, removing the alarm() limits and this library should
&lt;br&gt;work in both the 64-bit and 32-bits versions.
&lt;br&gt;&lt;br&gt;The installers are replaced.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Cheers --- Jan
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26255614&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Ann%3A-Windows-binary-previews-tp26234462p26255614.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26254169</id>
	<title>Re: Ann: Windows binary previews (fixed)</title>
	<published>2009-11-08T06:16:42Z</published>
	<updated>2009-11-08T06:16:42Z</updated>
	<author>
		<name>Joel Foutelet</name>
	</author>
	<content type="html">Hi Jan
&lt;br&gt;&lt;br&gt;I must say that today, after the restart of my PC &amp;nbsp;I have not this problem 
&lt;br&gt;anymore.
&lt;br&gt;May be my machine was tired ...
&lt;br&gt;&lt;br&gt;Joël
&lt;br&gt;&lt;br&gt;&lt;br&gt;----- Original Message ----- 
&lt;br&gt;From: &amp;quot;Jan Wielemaker&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254169&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;J.Wielemaker@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: &amp;quot;Joel Foutelet&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254169&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;joel.foutelet@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Cc: &amp;quot;SWI-Prolog mailinglist&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254169&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;swi-prolog@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Sent: Sunday, November 08, 2009 2:42 PM
&lt;br&gt;Subject: Re: [SWIPL] Ann: Windows binary previews (fixed)
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Joël,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have tried hard to reproduce this, but I failed. &amp;nbsp;Does it have
&lt;br&gt;&amp;gt; any relation to the file you want to edit? &amp;nbsp;In particular, does
&lt;br&gt;&amp;gt; the filename contain non-ASCII characters?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Anyone else who can confirm this problem or confirm that the
&lt;br&gt;&amp;gt; edit ... menu works fine?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; P.s. I assume that we are talking about the 32-bit version.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks --- Jan
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Sat, 2009-11-07 at 12:23 +0100, Joel Foutelet wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hi Jan
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Still errors :
&lt;br&gt;&amp;gt;&amp;gt; Start pl.
&lt;br&gt;&amp;gt;&amp;gt; First try to edit a file -&amp;gt; nothing (but no error writen).
&lt;br&gt;&amp;gt;&amp;gt; Second try -&amp;gt; the editing window is shown with the first file I choosed 
&lt;br&gt;&amp;gt;&amp;gt; and
&lt;br&gt;&amp;gt;&amp;gt; in the same moment the OpenFile dialog box is shown (sorry for my bad
&lt;br&gt;&amp;gt;&amp;gt; english).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; It''s not always the same,
&lt;br&gt;&amp;gt;&amp;gt; Start Pl
&lt;br&gt;&amp;gt;&amp;gt; try to edit a file -&amp;gt; Ok
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Another try
&lt;br&gt;&amp;gt;&amp;gt; Start Pl
&lt;br&gt;&amp;gt;&amp;gt; try to edit a file -&amp;gt; Ok after 3/4 seconds.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Joël
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ----- Original Message ----- 
&lt;br&gt;&amp;gt;&amp;gt; From: &amp;quot;Jan Wielemaker&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254169&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;J.Wielemaker@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; To: &amp;quot;Joel Foutelet&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254169&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;joel.foutelet@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Cc: &amp;quot;SWI-Prolog mailinglist&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254169&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;swi-prolog@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Sent: Saturday, November 07, 2009 11:12 AM
&lt;br&gt;&amp;gt;&amp;gt; Subject: Re: [SWIPL] Ann: Windows binary previews (fixed)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; I've implemented a work-around and uploaded a new installer. &amp;nbsp;Please
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; give it a try (check that the installer gives nov7 as production date
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; and you don't pick a version from some cache).
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Cheers --- Jan
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; On Fri, 2009-11-06 at 22:18 +0100, Joel Foutelet wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; Sorry my first message was cut:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; My OS is Windows Vistal Integral 32 bits.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; Error messages are :
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; 1 ?- [PCE system error: adt\date.c:623: Assertion failed: 
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; sizeof(time_t)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; SWI-Prolog mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254169&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254169&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Ann%3A-Windows-binary-previews-tp26234462p26254169.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26253904</id>
	<title>Re: Ann: Windows binary previews (fixed)</title>
	<published>2009-11-08T05:42:29Z</published>
	<updated>2009-11-08T05:42:29Z</updated>
	<author>
		<name>Jan Wielemaker-3</name>
	</author>
	<content type="html">Hi Joël,
&lt;br&gt;&lt;br&gt;I have tried hard to reproduce this, but I failed. &amp;nbsp;Does it have
&lt;br&gt;any relation to the file you want to edit? &amp;nbsp;In particular, does
&lt;br&gt;the filename contain non-ASCII characters?
&lt;br&gt;&lt;br&gt;Anyone else who can confirm this problem or confirm that the
&lt;br&gt;edit ... menu works fine?
&lt;br&gt;&lt;br&gt;P.s. I assume that we are talking about the 32-bit version.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thanks --- Jan
&lt;br&gt;&lt;br&gt;On Sat, 2009-11-07 at 12:23 +0100, Joel Foutelet wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Jan
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Still errors :
&lt;br&gt;&amp;gt; Start pl.
&lt;br&gt;&amp;gt; First try to edit a file -&amp;gt; nothing (but no error writen).
&lt;br&gt;&amp;gt; Second try -&amp;gt; the editing window is shown with the first file I choosed and 
&lt;br&gt;&amp;gt; in the same moment the OpenFile dialog box is shown (sorry for my bad 
&lt;br&gt;&amp;gt; english).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It''s not always the same,
&lt;br&gt;&amp;gt; Start Pl
&lt;br&gt;&amp;gt; try to edit a file -&amp;gt; Ok
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Another try
&lt;br&gt;&amp;gt; Start Pl
&lt;br&gt;&amp;gt; try to edit a file -&amp;gt; Ok after 3/4 seconds.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Joël
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ----- Original Message ----- 
&lt;br&gt;&amp;gt; From: &amp;quot;Jan Wielemaker&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253904&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;J.Wielemaker@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; To: &amp;quot;Joel Foutelet&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253904&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;joel.foutelet@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Cc: &amp;quot;SWI-Prolog mailinglist&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253904&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;swi-prolog@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Sent: Saturday, November 07, 2009 11:12 AM
&lt;br&gt;&amp;gt; Subject: Re: [SWIPL] Ann: Windows binary previews (fixed)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Hi,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I've implemented a work-around and uploaded a new installer. &amp;nbsp;Please
&lt;br&gt;&amp;gt; &amp;gt; give it a try (check that the installer gives nov7 as production date
&lt;br&gt;&amp;gt; &amp;gt; and you don't pick a version from some cache).
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Cheers --- Jan
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; On Fri, 2009-11-06 at 22:18 +0100, Joel Foutelet wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Sorry my first message was cut:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; My OS is Windows Vistal Integral 32 bits.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Error messages are :
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 1 ?- [PCE system error: adt\date.c:623: Assertion failed: sizeof(time_t) 
&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253904&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Ann%3A-Windows-binary-previews-tp26234462p26253904.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26243896</id>
	<title>Re: Ann: Windows binary previews (fixed)</title>
	<published>2009-11-07T03:23:16Z</published>
	<updated>2009-11-07T03:23:16Z</updated>
	<author>
		<name>Joel Foutelet</name>
	</author>
	<content type="html">Hi Jan
&lt;br&gt;&lt;br&gt;Still errors :
&lt;br&gt;Start pl.
&lt;br&gt;First try to edit a file -&amp;gt; nothing (but no error writen).
&lt;br&gt;Second try -&amp;gt; the editing window is shown with the first file I choosed and 
&lt;br&gt;in the same moment the OpenFile dialog box is shown (sorry for my bad 
&lt;br&gt;english).
&lt;br&gt;&lt;br&gt;It''s not always the same,
&lt;br&gt;Start Pl
&lt;br&gt;try to edit a file -&amp;gt; Ok
&lt;br&gt;&lt;br&gt;&lt;br&gt;Another try
&lt;br&gt;Start Pl
&lt;br&gt;try to edit a file -&amp;gt; Ok after 3/4 seconds.
&lt;br&gt;&lt;br&gt;Joël
&lt;br&gt;&lt;br&gt;----- Original Message ----- 
&lt;br&gt;From: &amp;quot;Jan Wielemaker&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243896&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;J.Wielemaker@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: &amp;quot;Joel Foutelet&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243896&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;joel.foutelet@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Cc: &amp;quot;SWI-Prolog mailinglist&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243896&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;swi-prolog@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Sent: Saturday, November 07, 2009 11:12 AM
&lt;br&gt;Subject: Re: [SWIPL] Ann: Windows binary previews (fixed)
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I've implemented a work-around and uploaded a new installer. &amp;nbsp;Please
&lt;br&gt;&amp;gt; give it a try (check that the installer gives nov7 as production date
&lt;br&gt;&amp;gt; and you don't pick a version from some cache).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Cheers --- Jan
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Fri, 2009-11-06 at 22:18 +0100, Joel Foutelet wrote:
&lt;br&gt;&amp;gt;&amp;gt; Sorry my first message was cut:
&lt;br&gt;&amp;gt;&amp;gt; My OS is Windows Vistal Integral 32 bits.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Error messages are :
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 1 ?- [PCE system error: adt\date.c:623: Assertion failed: sizeof(time_t) 
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;=
&lt;br&gt;&amp;gt;&amp;gt; sizeof(Any)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Stack:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 6] M @48588304/file &amp;lt;-time(@default/constant)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 5] M @48588268/emacs_buffer -&amp;gt;slot(time_stamp, @48588304?time)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 4] M @48588268/emacs_buffer -&amp;gt;file(@48588304/file)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 3] M @48588268/emacs_buffer -&amp;gt;initialise(@48588304/file,
&lt;br&gt;&amp;gt;&amp;gt; @default/constant)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 2]
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 1] M
&lt;br&gt;&amp;gt;&amp;gt; @emacs/emacs -&amp;gt;goto_source_location(@48587055/source_location, (nil))
&lt;br&gt;&amp;gt;&amp;gt; ]
&lt;br&gt;&amp;gt;&amp;gt; Requesting host to dump stack ...
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[20] send(@48588268/emacs_buffer, slot(time_stamp,
&lt;br&gt;&amp;gt;&amp;gt; @48588304/file?time))
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[19] Send-method on @48588268/emacs_buffer:
&lt;br&gt;&amp;gt;&amp;gt; emacs_buffer-&amp;gt;file(@48588304/file)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[18] '$c_call_prolog'
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;Alien goal&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[17] send(@48588268/emacs_buffer, file(@48588304/file))
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[16] Send-method on @48588268/emacs_buffer:
&lt;br&gt;&amp;gt;&amp;gt; emacs_buffer-&amp;gt;initialise(@48588304/file, @default/constant)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[15] '$c_call_prolog'
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;Alien goal&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[14] new(_G2003,
&lt;br&gt;&amp;gt;&amp;gt; emacs_buffer('d:/developpements/prolog/divers/knights.pl'))
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[13] Send-method on @emacs/emacs:
&lt;br&gt;&amp;gt;&amp;gt; emacs-&amp;gt;goto_source_location(@48587055/source_location, @default/constant)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[12] '$c_call_prolog'
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;Alien goal&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[11] send(@emacs/emacs,
&lt;br&gt;&amp;gt;&amp;gt; goto_source_location(source_location('d:/developpements/prolog/divers/knights.pl')))
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Joël
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ----- Original Message ----- 
&lt;br&gt;&amp;gt;&amp;gt; From: &amp;quot;Jan Wielemaker&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243896&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;J.Wielemaker@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; To: &amp;quot;SWI-Prolog mailinglist&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243896&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;swi-prolog@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Sent: Friday, November 06, 2009 5:16 PM
&lt;br&gt;&amp;gt;&amp;gt; Subject: Re: [SWIPL] Ann: Windows binary previews
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; On Fri, 2009-11-06 at 17:04 +0100, Jan Wielemaker wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; Please test this version, notably to verify that it hasn't been
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; miscompiled by VC9 and that the packaging is still correct. &amp;nbsp;I am
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; also curious to know whether this version is faster; before, the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; Win32 version was compiled with VC6 and the Win64 version with
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; VC8.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; I'm not too lazy to test myself, but I do not have any physical
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; MS-Windows machines; only a few virtual ones under VMWARE server
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; and timing pretty inaccurate in virtual machines.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Cheers --- Jan
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; SWI-Prolog mailing list
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243896&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; SWI-Prolog mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243896&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243896&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Ann%3A-Windows-binary-previews-tp26234462p26243896.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26243532</id>
	<title>Re: alarm</title>
	<published>2009-11-07T02:18:11Z</published>
	<updated>2009-11-07T02:18:11Z</updated>
	<author>
		<name>Jan Wielemaker-3</name>
	</author>
	<content type="html">On Sat, 2009-11-07 at 10:18 +0900, Nicolas Pelletier wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Sat, Nov 7, 2009 at 02:50, PF &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243532&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul.i.fodor@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt; Sorry, I sent my post with the wrong header. My post has nothing to do with
&lt;br&gt;&amp;gt; &amp;gt; Jan's post.
&lt;br&gt;&amp;gt; &amp;gt; Paul.
&lt;br&gt;&amp;gt; &amp;gt; On Fri, Nov 6, 2009 at 12:47 PM, PF &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243532&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul.i.fodor@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; I'm using alarm from the C time library to call a predicate in the future
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; and I get the error:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; ERROR: Not enough resources: timers
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; How can I increase this number of timers? Is it set by the OS? Is it a
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; constant in the configuration of SWI? It is a constant set in the SWI
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; sources and should I compile SWI to change it?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Under Unix/Linux, timers are implemented using signals (SIGALRM). The
&lt;br&gt;&amp;gt; OS sets a limit to the number of pending signals for a process, which
&lt;br&gt;&amp;gt; you can get and set on the C side of things with getrlimit and
&lt;br&gt;&amp;gt; setrlimit. Your shell will typically have a built-in command called
&lt;br&gt;&amp;gt; 'ulimit' which wraps the call to getrlimit/setrlimit. So you will have
&lt;br&gt;&amp;gt; to call 'ulimit' from the shell where you start SWI (if that is how
&lt;br&gt;&amp;gt; you start it).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Note however that these limits are &amp;quot;soft limits&amp;quot;: you cannot set them
&lt;br&gt;&amp;gt; arbitrarily high, the OS has a hard limit it will never cross (barring
&lt;br&gt;&amp;gt; recompilation). In my experience, the bottom-line is: if you run out
&lt;br&gt;&amp;gt; of signals/file descriptors/etc... then this is a sign the design is
&lt;br&gt;&amp;gt; wrong. As for scheduling events, using one &amp;quot;timer manager thread&amp;quot;
&lt;br&gt;&amp;gt; (e.g. only ever one signal) which will use alarm, and then wake up the
&lt;br&gt;&amp;gt; other threads/processes by sending them a message scales well, and
&lt;br&gt;&amp;gt; gives a better overall time behaviour (e.g. more predictible, fewer
&lt;br&gt;&amp;gt; interruptions for the OS) than having every thread use alarm itself.
&lt;/div&gt;&lt;br&gt;It is probably a good idea to share the same implementation. &amp;nbsp;At some
&lt;br&gt;points (before threading), the library used SIGALARM on Unix and MM
&lt;br&gt;timers on Windows. &amp;nbsp;With threading, the SIGALARM option no longer
&lt;br&gt;worked, so the Unix version now uses a separate thread to do all
&lt;br&gt;the scheduling. &amp;nbsp;The windows version still uses the MM timers,
&lt;br&gt;but these are pretty limited.
&lt;br&gt;&lt;br&gt;Such a change would certainly simplify the implementation :-)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Cheers --- Jan
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243532&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/alarm-tp26235982p26243532.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26243513</id>
	<title>Re: Ann: Windows binary previews (fixed)</title>
	<published>2009-11-07T02:12:34Z</published>
	<updated>2009-11-07T02:12:34Z</updated>
	<author>
		<name>Jan Wielemaker-3</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I've implemented a work-around and uploaded a new installer. &amp;nbsp;Please
&lt;br&gt;give it a try (check that the installer gives nov7 as production date
&lt;br&gt;and you don't pick a version from some cache).
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Cheers --- Jan
&lt;br&gt;&lt;br&gt;On Fri, 2009-11-06 at 22:18 +0100, Joel Foutelet wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Sorry my first message was cut:
&lt;br&gt;&amp;gt; My OS is Windows Vistal Integral 32 bits.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Error messages are :
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 1 ?- [PCE system error: adt\date.c:623: Assertion failed: sizeof(time_t) &amp;lt;= 
&lt;br&gt;&amp;gt; sizeof(Any)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Stack:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 6] M @48588304/file &amp;lt;-time(@default/constant)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 5] M @48588268/emacs_buffer -&amp;gt;slot(time_stamp, @48588304?time)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 4] M @48588268/emacs_buffer -&amp;gt;file(@48588304/file)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 3] M @48588268/emacs_buffer -&amp;gt;initialise(@48588304/file, 
&lt;br&gt;&amp;gt; @default/constant)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 2]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 1] M 
&lt;br&gt;&amp;gt; @emacs/emacs -&amp;gt;goto_source_location(@48587055/source_location, (nil))
&lt;br&gt;&amp;gt; ]
&lt;br&gt;&amp;gt; Requesting host to dump stack ...
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[20] send(@48588268/emacs_buffer, slot(time_stamp, 
&lt;br&gt;&amp;gt; @48588304/file?time))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[19] Send-method on @48588268/emacs_buffer: 
&lt;br&gt;&amp;gt; emacs_buffer-&amp;gt;file(@48588304/file)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[18] '$c_call_prolog'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;Alien goal&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[17] send(@48588268/emacs_buffer, file(@48588304/file))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[16] Send-method on @48588268/emacs_buffer: 
&lt;br&gt;&amp;gt; emacs_buffer-&amp;gt;initialise(@48588304/file, @default/constant)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[15] '$c_call_prolog'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;Alien goal&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[14] new(_G2003, 
&lt;br&gt;&amp;gt; emacs_buffer('d:/developpements/prolog/divers/knights.pl'))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[13] Send-method on @emacs/emacs: 
&lt;br&gt;&amp;gt; emacs-&amp;gt;goto_source_location(@48587055/source_location, @default/constant)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[12] '$c_call_prolog'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;Alien goal&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[11] send(@emacs/emacs, 
&lt;br&gt;&amp;gt; goto_source_location(source_location('d:/developpements/prolog/divers/knights.pl')))
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Joël
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ----- Original Message ----- 
&lt;br&gt;&amp;gt; From: &amp;quot;Jan Wielemaker&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243513&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;J.Wielemaker@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; To: &amp;quot;SWI-Prolog mailinglist&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243513&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;swi-prolog@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Sent: Friday, November 06, 2009 5:16 PM
&lt;br&gt;&amp;gt; Subject: Re: [SWIPL] Ann: Windows binary previews
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; On Fri, 2009-11-06 at 17:04 +0100, Jan Wielemaker wrote:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Please test this version, notably to verify that it hasn't been
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; miscompiled by VC9 and that the packaging is still correct. &amp;nbsp;I am
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; also curious to know whether this version is faster; before, the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Win32 version was compiled with VC6 and the Win64 version with
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; VC8.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I'm not too lazy to test myself, but I do not have any physical
&lt;br&gt;&amp;gt; &amp;gt; MS-Windows machines; only a few virtual ones under VMWARE server
&lt;br&gt;&amp;gt; &amp;gt; and timing pretty inaccurate in virtual machines.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Cheers --- Jan
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; &amp;gt; SWI-Prolog mailing list
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243513&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; SWI-Prolog mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243513&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243513&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Ann%3A-Windows-binary-previews-tp26234462p26243513.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26243147</id>
	<title>Re: Ann: Windows binary previews</title>
	<published>2009-11-07T01:15:08Z</published>
	<updated>2009-11-07T01:15:08Z</updated>
	<author>
		<name>Jan Wielemaker-3</name>
	</author>
	<content type="html">On Fri, 2009-11-06 at 22:18 +0100, Joel Foutelet wrote:
&lt;br&gt;&amp;gt; Sorry my first message was cut:
&lt;br&gt;&amp;gt; My OS is Windows Vistal Integral 32 bits.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Error messages are :
&lt;br&gt;&lt;br&gt;Thanks for the complete one. &amp;nbsp;At least this makes the issue clear.
&lt;br&gt;Apparently Microsoft changed time_t; I guess to be 64-bits. &amp;nbsp;That is a
&lt;br&gt;bit nasty to fix in XPCE's architecture, but I'll find a way around.
&lt;br&gt;&lt;br&gt;I guess the quickest way around is to cast to intptr_t. &amp;nbsp;That will do
&lt;br&gt;until 2038 :-)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; --- Jan
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 1 ?- [PCE system error: adt\date.c:623: Assertion failed: sizeof(time_t) &amp;lt;= 
&lt;br&gt;&amp;gt; sizeof(Any)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Stack:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 6] M @48588304/file &amp;lt;-time(@default/constant)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 5] M @48588268/emacs_buffer -&amp;gt;slot(time_stamp, @48588304?time)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 4] M @48588268/emacs_buffer -&amp;gt;file(@48588304/file)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 3] M @48588268/emacs_buffer -&amp;gt;initialise(@48588304/file, 
&lt;br&gt;&amp;gt; @default/constant)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 2]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 1] M 
&lt;br&gt;&amp;gt; @emacs/emacs -&amp;gt;goto_source_location(@48587055/source_location, (nil))
&lt;br&gt;&amp;gt; ]
&lt;br&gt;&amp;gt; Requesting host to dump stack ...
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[20] send(@48588268/emacs_buffer, slot(time_stamp, 
&lt;br&gt;&amp;gt; @48588304/file?time))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[19] Send-method on @48588268/emacs_buffer: 
&lt;br&gt;&amp;gt; emacs_buffer-&amp;gt;file(@48588304/file)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[18] '$c_call_prolog'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;Alien goal&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[17] send(@48588268/emacs_buffer, file(@48588304/file))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[16] Send-method on @48588268/emacs_buffer: 
&lt;br&gt;&amp;gt; emacs_buffer-&amp;gt;initialise(@48588304/file, @default/constant)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[15] '$c_call_prolog'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;Alien goal&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[14] new(_G2003, 
&lt;br&gt;&amp;gt; emacs_buffer('d:/developpements/prolog/divers/knights.pl'))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[13] Send-method on @emacs/emacs: 
&lt;br&gt;&amp;gt; emacs-&amp;gt;goto_source_location(@48587055/source_location, @default/constant)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[12] '$c_call_prolog'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;Alien goal&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[11] send(@emacs/emacs, 
&lt;br&gt;&amp;gt; goto_source_location(source_location('d:/developpements/prolog/divers/knights.pl')))
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Joël
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ----- Original Message ----- 
&lt;br&gt;&amp;gt; From: &amp;quot;Jan Wielemaker&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243147&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;J.Wielemaker@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; To: &amp;quot;SWI-Prolog mailinglist&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243147&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;swi-prolog@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Sent: Friday, November 06, 2009 5:16 PM
&lt;br&gt;&amp;gt; Subject: Re: [SWIPL] Ann: Windows binary previews
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; On Fri, 2009-11-06 at 17:04 +0100, Jan Wielemaker wrote:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Please test this version, notably to verify that it hasn't been
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; miscompiled by VC9 and that the packaging is still correct. &amp;nbsp;I am
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; also curious to know whether this version is faster; before, the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Win32 version was compiled with VC6 and the Win64 version with
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; VC8.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I'm not too lazy to test myself, but I do not have any physical
&lt;br&gt;&amp;gt; &amp;gt; MS-Windows machines; only a few virtual ones under VMWARE server
&lt;br&gt;&amp;gt; &amp;gt; and timing pretty inaccurate in virtual machines.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Cheers --- Jan
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; &amp;gt; SWI-Prolog mailing list
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243147&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; SWI-Prolog mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243147&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243147&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Ann%3A-Windows-binary-previews-tp26234462p26243147.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26241335</id>
	<title>Re: alarm</title>
	<published>2009-11-06T17:18:45Z</published>
	<updated>2009-11-06T17:18:45Z</updated>
	<author>
		<name>Nicolas Pelletier-2</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;On Sat, Nov 7, 2009 at 02:50, PF &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26241335&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul.i.fodor@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Sorry, I sent my post with the wrong header. My post has nothing to do with
&lt;br&gt;&amp;gt; Jan's post.
&lt;br&gt;&amp;gt; Paul.
&lt;br&gt;&amp;gt; On Fri, Nov 6, 2009 at 12:47 PM, PF &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26241335&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul.i.fodor@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt; I'm using alarm from the C time library to call a predicate in the future
&lt;br&gt;&amp;gt;&amp;gt; and I get the error:
&lt;br&gt;&amp;gt;&amp;gt; ERROR: Not enough resources: timers
&lt;br&gt;&amp;gt;&amp;gt; How can I increase this number of timers? Is it set by the OS? Is it a
&lt;br&gt;&amp;gt;&amp;gt; constant in the configuration of SWI? It is a constant set in the SWI
&lt;br&gt;&amp;gt;&amp;gt; sources and should I compile SWI to change it?
&lt;/div&gt;&lt;br&gt;Under Unix/Linux, timers are implemented using signals (SIGALRM). The
&lt;br&gt;OS sets a limit to the number of pending signals for a process, which
&lt;br&gt;you can get and set on the C side of things with getrlimit and
&lt;br&gt;setrlimit. Your shell will typically have a built-in command called
&lt;br&gt;'ulimit' which wraps the call to getrlimit/setrlimit. So you will have
&lt;br&gt;to call 'ulimit' from the shell where you start SWI (if that is how
&lt;br&gt;you start it).
&lt;br&gt;&lt;br&gt;Note however that these limits are &amp;quot;soft limits&amp;quot;: you cannot set them
&lt;br&gt;arbitrarily high, the OS has a hard limit it will never cross (barring
&lt;br&gt;recompilation). In my experience, the bottom-line is: if you run out
&lt;br&gt;of signals/file descriptors/etc... then this is a sign the design is
&lt;br&gt;wrong. As for scheduling events, using one &amp;quot;timer manager thread&amp;quot;
&lt;br&gt;(e.g. only ever one signal) which will use alarm, and then wake up the
&lt;br&gt;other threads/processes by sending them a message scales well, and
&lt;br&gt;gives a better overall time behaviour (e.g. more predictible, fewer
&lt;br&gt;interruptions for the OS) than having every thread use alarm itself.
&lt;br&gt;&lt;br&gt;Hope this helps,
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Nicolas
&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26241335&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/alarm-tp26235982p26241335.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26238783</id>
	<title>Re: Ann: Windows binary previews</title>
	<published>2009-11-06T13:18:55Z</published>
	<updated>2009-11-06T13:18:55Z</updated>
	<author>
		<name>Joel Foutelet</name>
	</author>
	<content type="html">Sorry my first message was cut:
&lt;br&gt;My OS is Windows Vistal Integral 32 bits.
&lt;br&gt;&lt;br&gt;Error messages are :
&lt;br&gt;&lt;br&gt;1 ?- [PCE system error: adt\date.c:623: Assertion failed: sizeof(time_t) &amp;lt;= 
&lt;br&gt;sizeof(Any)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Stack:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 6] M @48588304/file &amp;lt;-time(@default/constant)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 5] M @48588268/emacs_buffer -&amp;gt;slot(time_stamp, @48588304?time)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 4] M @48588268/emacs_buffer -&amp;gt;file(@48588304/file)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 3] M @48588268/emacs_buffer -&amp;gt;initialise(@48588304/file, 
&lt;br&gt;@default/constant)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 2]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ 1] M 
&lt;br&gt;@emacs/emacs -&amp;gt;goto_source_location(@48587055/source_location, (nil))
&lt;br&gt;]
&lt;br&gt;Requesting host to dump stack ...
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[20] send(@48588268/emacs_buffer, slot(time_stamp, 
&lt;br&gt;@48588304/file?time))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[19] Send-method on @48588268/emacs_buffer: 
&lt;br&gt;emacs_buffer-&amp;gt;file(@48588304/file)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[18] '$c_call_prolog'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;Alien goal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[17] send(@48588268/emacs_buffer, file(@48588304/file))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[16] Send-method on @48588268/emacs_buffer: 
&lt;br&gt;emacs_buffer-&amp;gt;initialise(@48588304/file, @default/constant)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[15] '$c_call_prolog'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;Alien goal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[14] new(_G2003, 
&lt;br&gt;emacs_buffer('d:/developpements/prolog/divers/knights.pl'))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[13] Send-method on @emacs/emacs: 
&lt;br&gt;emacs-&amp;gt;goto_source_location(@48587055/source_location, @default/constant)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[12] '$c_call_prolog'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;Alien goal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[11] send(@emacs/emacs, 
&lt;br&gt;goto_source_location(source_location('d:/developpements/prolog/divers/knights.pl')))
&lt;br&gt;&lt;br&gt;Joël
&lt;br&gt;&lt;br&gt;----- Original Message ----- 
&lt;br&gt;From: &amp;quot;Jan Wielemaker&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26238783&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;J.Wielemaker@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: &amp;quot;SWI-Prolog mailinglist&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26238783&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;swi-prolog@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Sent: Friday, November 06, 2009 5:16 PM
&lt;br&gt;Subject: Re: [SWIPL] Ann: Windows binary previews
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Fri, 2009-11-06 at 17:04 +0100, Jan Wielemaker wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Please test this version, notably to verify that it hasn't been
&lt;br&gt;&amp;gt;&amp;gt; miscompiled by VC9 and that the packaging is still correct. &amp;nbsp;I am
&lt;br&gt;&amp;gt;&amp;gt; also curious to know whether this version is faster; before, the
&lt;br&gt;&amp;gt;&amp;gt; Win32 version was compiled with VC6 and the Win64 version with
&lt;br&gt;&amp;gt;&amp;gt; VC8.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm not too lazy to test myself, but I do not have any physical
&lt;br&gt;&amp;gt; MS-Windows machines; only a few virtual ones under VMWARE server
&lt;br&gt;&amp;gt; and timing pretty inaccurate in virtual machines.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Cheers --- Jan
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; SWI-Prolog mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26238783&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26238783&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Ann%3A-Windows-binary-previews-tp26234462p26238783.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26238756</id>
	<title>Re: bagof/3 in 5.8.0</title>
	<published>2009-11-06T13:16:20Z</published>
	<updated>2009-11-06T13:16:20Z</updated>
	<author>
		<name>Ceyhun Ciper</name>
	</author>
	<content type="html">&lt;div&gt;Thank you very much for the crystal clear explanation, professor; I wish Jan could include this post of yours (somewhat edited, of course) in the documentation of bagof; you see, the problem with swip documentation is that it pre-supposes that everyone understands the semantics of every predicate published thereof. SWIP is one of the best software on the planet and contributions like yours could make it better understood (as it is a &lt;em&gt;logical reasoning environment&lt;/em&gt;, on top of a logical language).&lt;/div&gt;

&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Here are some facts:&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;I used bagof too many times without caring that much about the 2nd argument&lt;/li&gt;
&lt;li&gt;When in doubt, I marked &lt;em&gt;unimportant(!)&lt;/em&gt; data as free variables&lt;/li&gt;
&lt;li&gt;And then, when the code changed, I debugged (and debugged); and most of the hard stuff revealed themselves to be there&lt;/li&gt;
&lt;li&gt;And of course, like everybody else, I used underscores in the 2nd argument quite a few times (as it was obvious to me what I meant)&lt;/li&gt;&lt;/ul&gt;
&lt;div&gt;Now, to your questions:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;em&gt;Why have I used it&lt;/em&gt;? Because it happened to be there and seemed to be what both it&amp;#39;s name and (scant) documentation indicated.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;em&gt;Why I thought that was the best that I could do?&lt;/em&gt; Because it happened to be there ... and I did not think I could do any better myself.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;em&gt;Have I ever doubted that?&lt;/em&gt; Nope, I doubted myself.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;em&gt;Have I changed my opinion?&lt;/em&gt; Now that you mention it, yes, effectively.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;But not thoroughly, as your &amp;quot;ps&amp;quot; leaves something to be desired à la Fermat.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Regards,&lt;/div&gt;
&lt;div&gt;Ceyhun&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div class=&quot;gmail_quote&quot;&gt;On Thu, Nov 5, 2009 at 10:21 PM, Bart Demoen &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26238756&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bart.demoen@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote style=&quot;BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex&quot; class=&quot;gmail_quote&quot;&gt;&lt;br&gt;&lt;br&gt;Ceyhun Ciper wrote:&lt;br&gt;&lt;br&gt;&amp;gt; Why do you avoid bagof/3 like the plague?&lt;br&gt;&lt;br&gt;It is crucial to use bagof/3 only when you know exactly which&lt;br&gt;
variables it contains - also deep inside its second argument. If you&lt;br&gt;are not sure, or if things change, you will end up writing stuff with&lt;br&gt;^ in the goal, just for your protection, even when not necessary&lt;br&gt;initially.&lt;br&gt;
&lt;br&gt;Suppose you use bagof/3 on a ADT for trees, and for some reason the&lt;br&gt;implementation of the ADT suddenly uses a different internal&lt;br&gt;representation introducing variables (that could be bound meaningfully&lt;br&gt;as well, for instance the extra slot in a node indicates the depth of&lt;br&gt;
the subtree, but as long as it has not been computed, it is variable;&lt;br&gt;once computed it is a fixed integer) you are probably in deep problems.&lt;br&gt;&lt;br&gt;Unless you wrote all your bagof/3 calls like&lt;br&gt;&lt;br&gt;      bagof(Something,Tree^computesomething(Tree,Something),Somethings)&lt;br&gt;
&lt;br&gt;in which case you could have used findall/3 (followed by a test Somethings==[])&lt;br&gt;&lt;br&gt;I am sure you can see some flaw in what I wrote, but most human&lt;br&gt;programmers don&amp;#39;t off hand - you will need some thought. Well, that&amp;#39;s&lt;br&gt;
enough for me :-) Because my main objection against bagof/3 is that it&lt;br&gt;is just too complicated to be used in programs, especially in programs&lt;br&gt;that others need to read.&lt;br&gt;&lt;br&gt;Also, consider that SWI&amp;#39;s implementation of bagof/3 is (was by now)&lt;br&gt;
buggy, and that this went unnoticed for many years. Something about&lt;br&gt;bagof/3, some feature of bagof/3 must be unsuited to programmers: this&lt;br&gt;feature is not used, or the bug would not have remained unnoticed for&lt;br&gt;so long. This feature is related to variables.&lt;br&gt;
&lt;br&gt;Note that Ulrich wrote&lt;br&gt;&amp;gt; (binding B to 1 and not binding B at all - how irritating!).&lt;br&gt;I usually misunderstand Ulrich, but this time, I feel confident that&lt;br&gt;he is not making a nice comment towards the spec of bagof/3.&lt;br&gt;
&lt;br&gt;Finally, my programming experience is limited like everyone&amp;#39;s, but I&lt;br&gt;get away with findall/3 almost always. In the few cases I need&lt;br&gt;something like a findall/3 that retains the identity of variables&lt;br&gt;(something that bagof/3 can be used for), I prefer to write my own&lt;br&gt;
bagging predicate.&lt;br&gt;&lt;br&gt;&lt;br&gt;Ceyhun Ciper writes:&lt;br&gt;&lt;br&gt;&amp;gt; I really don&amp;#39;t know where and/or when I should or shouldn&amp;#39;t use it&lt;br&gt;&lt;br&gt;This sounds like you use bagof/3 at least sometimes - why don&amp;#39;t you&lt;br&gt;tell us why you have used it, why you thought that was the best you&lt;br&gt;
could do, whether you ever doubted that, and whether you have changed&lt;br&gt;your opinion ?&lt;br&gt;&lt;br&gt;Cheers&lt;br&gt;&lt;br&gt;Bart Demoen&lt;br&gt;&lt;br&gt;&lt;br&gt;ps. ever seen bagof/3 goals with an underscore (explicit anonymous&lt;br&gt;   variable) in the second argument ? in other contexts, _ means &amp;quot;I am&lt;br&gt;
   not interested in that part of the answer&amp;quot; - in bagof/3 it means&lt;br&gt;&lt;br&gt;Disclaimer: &lt;a href=&quot;http://www.kuleuven.be/cwis/email_disclaimer.htm&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.kuleuven.be/cwis/email_disclaimer.htm&lt;/a&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/bagof-3-in-5.8.0-tp26184799p26238756.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26236086</id>
	<title>Re: Ann: Windows binary previews</title>
	<published>2009-11-06T09:56:25Z</published>
	<updated>2009-11-06T09:56:25Z</updated>
	<author>
		<name>Joel Foutelet</name>
	</author>
	<content type="html">Hi
&lt;br&gt;&lt;br&gt;I can't edit files : here are the error messages :
&lt;br&gt;&lt;br&gt;% library(win_menu) compiled into win_menu 0.02 sec, 11,760 bytes
&lt;br&gt;% library(swi_hooks) compiled into pce_swi_hooks 0.00 sec, 2,024 bytes
&lt;br&gt;% The graphical front-end will be used for subsequent tracing
&lt;br&gt;% c:/emacs/pl.ini compiled 0.13 sec, 767,860 bytes
&lt;br&gt;XPCE 6.6.66, July 2009 for Win32: NT,2000,XP
&lt;br&gt;Copyright (C) 1993-2009 University of Amsterdam.
&lt;br&gt;XPCE comes with ABSOLUTELY NO WARRANTY. This is free software,
&lt;br&gt;and you are welcome to redistribute it under certain conditions.
&lt;br&gt;The host-language is SWI-Prolog version 5.9.0
&lt;br&gt;&lt;br&gt;For HELP on prolog, please type help. or apropos(topic).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;on xpce, please type manpce.
&lt;br&gt;&lt;br&gt;1 ?- [PCE system error: adt\date.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Joël
&lt;br&gt;&lt;br&gt;&lt;br&gt;----- Original Message ----- 
&lt;br&gt;From: &amp;quot;Jan Wielemaker&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26236086&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;J.Wielemaker@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: &amp;quot;SWI-Prolog mailinglist&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26236086&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;swi-prolog@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Sent: Friday, November 06, 2009 5:04 PM
&lt;br&gt;Subject: [SWIPL] Ann: Windows binary previews
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The development download page (&lt;a href=&quot;http://www.swi-prolog.org/download/devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.swi-prolog.org/download/devel&lt;/a&gt;)
&lt;br&gt;&amp;gt; now contains new Windows installers created from the current GIT
&lt;br&gt;&amp;gt; version. &amp;nbsp;They are labeled 5.9.0, but are in fact previews for what
&lt;br&gt;&amp;gt; is probably close to 5.8.1.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Both the Win32 and Win64 installers have been compiled using Microsoft
&lt;br&gt;&amp;gt; VC9 on WinXP-64 using Degski's config.cmd script for MS-Windows.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Please test this version, notably to verify that it hasn't been
&lt;br&gt;&amp;gt; miscompiled by VC9 and that the packaging is still correct. &amp;nbsp;I am
&lt;br&gt;&amp;gt; also curious to know whether this version is faster; before, the
&lt;br&gt;&amp;gt; Win32 version was compiled with VC6 and the Win64 version with
&lt;br&gt;&amp;gt; VC8.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Besides the new compiler, there are several enhancements in this
&lt;br&gt;&amp;gt; version, including a bagof/3 that makes some people happy :-)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Enjoy --- Jan
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; SWI-Prolog mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26236086&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26236086&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Ann%3A-Windows-binary-previews-tp26234462p26236086.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26235982</id>
	<title>alarm</title>
	<published>2009-11-06T09:50:29Z</published>
	<updated>2009-11-06T09:50:29Z</updated>
	<author>
		<name>Paul Fodor-4</name>
	</author>
	<content type="html">&lt;div&gt;Sorry, I sent my post with the wrong header. My post has nothing to do with Jan&amp;#39;s post.&lt;br&gt;&lt;/div&gt;&lt;div&gt;Paul.&lt;/div&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Nov 6, 2009 at 12:47 PM, PF &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26235982&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul.i.fodor@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;&lt;div&gt;Hi, &lt;br&gt;&lt;/div&gt;&lt;div&gt;I&amp;#39;m using alarm from the C time library to call a predicate in the future and I get the error:&lt;/div&gt;

&lt;div&gt;ERROR: Not enough resources: timers&lt;/div&gt;&lt;div&gt;How can I increase this number of timers? Is it set by the OS? Is it a constant in the configuration of SWI? It is a constant set in the SWI sources and should I compile SWI to change it?&lt;/div&gt;


&lt;div&gt;Thank you,&lt;/div&gt;&lt;div&gt;Paul.&lt;/div&gt;&lt;div&gt;pl -g &amp;quot;[&amp;#39;etalis_src/etalis.P&amp;#39;],set_etalis_flag(logging,off),[&amp;#39;test_60.P&amp;#39;],test(&amp;#39;test_data_010k.P&amp;#39;),statistics.&amp;quot;&lt;br&gt;%  parser.P compiled 0.00 sec, 8,092 bytes&lt;br&gt;


%  binarizer.P compiled 0.00 sec, 6,724 bytes&lt;br&gt;%  compiler.P compiled 0.02 sec, 24,528 bytes&lt;br&gt;%  executor.P compiled 0.00 sec, 9,336 bytes&lt;br&gt;%  utils.P compiled 0.02 sec, 4,496 bytes&lt;br&gt;%  flags.P compiled 0.00 sec, 1,632 bytes&lt;br&gt;


%  storage.P compiled 0.00 sec, 7,172 bytes&lt;br&gt;% etalis_src/etalis.P compiled 0.03 sec, 70,332 bytes&lt;br&gt;% test_60.P compiled 0.00 sec, 1,436 bytes&lt;br&gt;% test_data_010k.P compiled 0.25 sec, 1,200,440 bytes&lt;br&gt;event(alarm(exception_stock(1, 308.1, 904), 1))&lt;br&gt;


event(alarm(exception_stock(1, 316.1, 709), 1))&lt;br&gt;event(alarm(exception_stock(1, 277.0, 773), 1))&lt;br&gt;event(alarm(exception_stock(1, 237.1, 946), 1))&lt;br&gt;event(alarm(exception_stock(1, 183.0, 807), 1))&lt;br&gt;event(alarm(exception_stock(1, 125.1, 938), 1))&lt;br&gt;


event(alarm(exception_stock(1, 289.9, 671), 1))&lt;br&gt;event(alarm(exception_stock(1, 200.9, 866), 1))&lt;br&gt;event(alarm(exception_stock(1, 380.1, 908), 1))&lt;br&gt;event(alarm(exception_stock(1, 18.1, 910), 1))&lt;br&gt;event(alarm(exception_stock(1, 315.0, 971), 1))&lt;br&gt;


event(alarm(exception_stock(1, 369.0, 808), 1))&lt;br&gt;event(alarm(exception_stock(1, 244.1, 730), 1))&lt;br&gt;event(alarm(exception_stock(1, 56.1, 842), 1))&lt;br&gt;event(alarm(exception_stock(1, 77.1, 618), 1))&lt;br&gt;event(alarm(exception_stock(1, 67.0, 842), 1))&lt;br&gt;


event(alarm(exception_stock(1, 322.9, 688), 1))&lt;br&gt;&lt;br&gt;ERROR: Prolog initialisation failed:&lt;br&gt;ERROR: Not enough resources: timers&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/alarm-tp26235982p26235982.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26235951</id>
	<title>Re: Ann: Windows binary previews</title>
	<published>2009-11-06T09:47:50Z</published>
	<updated>2009-11-06T09:47:50Z</updated>
	<author>
		<name>Paul Fodor-4</name>
	</author>
	<content type="html">&lt;div&gt;Hi, &lt;br&gt;&lt;/div&gt;&lt;div&gt;I&amp;#39;m using alarm from the C time library to call a predicate in the future and I get the error:&lt;/div&gt;&lt;div&gt;ERROR: Not enough resources: timers&lt;/div&gt;&lt;div&gt;How can I increase this number of timers? Is it set by the OS? Is it a constant in the configuration of SWI? It is a constant set in the SWI sources and should I compile SWI to change it?&lt;/div&gt;

&lt;div&gt;Thank you,&lt;/div&gt;&lt;div&gt;Paul.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;pl -g &amp;quot;[&amp;#39;etalis_src/etalis.P&amp;#39;],set_etalis_flag(logging,off),[&amp;#39;test_60.P&amp;#39;],test(&amp;#39;test_data_010k.P&amp;#39;),statistics.&amp;quot;&lt;br&gt;%  parser.P compiled 0.00 sec, 8,092 bytes&lt;br&gt;

%  binarizer.P compiled 0.00 sec, 6,724 bytes&lt;br&gt;%  compiler.P compiled 0.02 sec, 24,528 bytes&lt;br&gt;%  executor.P compiled 0.00 sec, 9,336 bytes&lt;br&gt;%  utils.P compiled 0.02 sec, 4,496 bytes&lt;br&gt;%  flags.P compiled 0.00 sec, 1,632 bytes&lt;br&gt;

%  storage.P compiled 0.00 sec, 7,172 bytes&lt;br&gt;% etalis_src/etalis.P compiled 0.03 sec, 70,332 bytes&lt;br&gt;% test_60.P compiled 0.00 sec, 1,436 bytes&lt;br&gt;% test_data_010k.P compiled 0.25 sec, 1,200,440 bytes&lt;br&gt;event(alarm(exception_stock(1, 308.1, 904), 1))&lt;br&gt;

event(alarm(exception_stock(1, 316.1, 709), 1))&lt;br&gt;event(alarm(exception_stock(1, 277.0, 773), 1))&lt;br&gt;event(alarm(exception_stock(1, 237.1, 946), 1))&lt;br&gt;event(alarm(exception_stock(1, 183.0, 807), 1))&lt;br&gt;event(alarm(exception_stock(1, 125.1, 938), 1))&lt;br&gt;

event(alarm(exception_stock(1, 289.9, 671), 1))&lt;br&gt;event(alarm(exception_stock(1, 200.9, 866), 1))&lt;br&gt;event(alarm(exception_stock(1, 380.1, 908), 1))&lt;br&gt;event(alarm(exception_stock(1, 18.1, 910), 1))&lt;br&gt;event(alarm(exception_stock(1, 315.0, 971), 1))&lt;br&gt;

event(alarm(exception_stock(1, 369.0, 808), 1))&lt;br&gt;event(alarm(exception_stock(1, 244.1, 730), 1))&lt;br&gt;event(alarm(exception_stock(1, 56.1, 842), 1))&lt;br&gt;event(alarm(exception_stock(1, 77.1, 618), 1))&lt;br&gt;event(alarm(exception_stock(1, 67.0, 842), 1))&lt;br&gt;

event(alarm(exception_stock(1, 322.9, 688), 1))&lt;br&gt;&lt;br&gt;ERROR: Prolog initialisation failed:&lt;br&gt;ERROR: Not enough resources: timers&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Ann%3A-Windows-binary-previews-tp26234462p26235951.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26234622</id>
	<title>Re: Ann: Windows binary previews</title>
	<published>2009-11-06T08:16:03Z</published>
	<updated>2009-11-06T08:16:03Z</updated>
	<author>
		<name>Jan Wielemaker-3</name>
	</author>
	<content type="html">On Fri, 2009-11-06 at 17:04 +0100, Jan Wielemaker wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Please test this version, notably to verify that it hasn't been
&lt;br&gt;&amp;gt; miscompiled by VC9 and that the packaging is still correct. &amp;nbsp;I am
&lt;br&gt;&amp;gt; also curious to know whether this version is faster; before, the
&lt;br&gt;&amp;gt; Win32 version was compiled with VC6 and the Win64 version with
&lt;br&gt;&amp;gt; VC8.
&lt;br&gt;&lt;br&gt;I'm not too lazy to test myself, but I do not have any physical
&lt;br&gt;MS-Windows machines; only a few virtual ones under VMWARE server
&lt;br&gt;and timing pretty inaccurate in virtual machines.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Cheers --- Jan
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26234622&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Ann%3A-Windows-binary-previews-tp26234462p26234622.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26234462</id>
	<title>Ann: Windows binary previews</title>
	<published>2009-11-06T08:04:31Z</published>
	<updated>2009-11-06T08:04:31Z</updated>
	<author>
		<name>Jan Wielemaker-3</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;The development download page (&lt;a href=&quot;http://www.swi-prolog.org/download/devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.swi-prolog.org/download/devel&lt;/a&gt;)
&lt;br&gt;now contains new Windows installers created from the current GIT
&lt;br&gt;version. &amp;nbsp;They are labeled 5.9.0, but are in fact previews for what
&lt;br&gt;is probably close to 5.8.1.
&lt;br&gt;&lt;br&gt;Both the Win32 and Win64 installers have been compiled using Microsoft
&lt;br&gt;VC9 on WinXP-64 using Degski's config.cmd script for MS-Windows.
&lt;br&gt;&lt;br&gt;Please test this version, notably to verify that it hasn't been
&lt;br&gt;miscompiled by VC9 and that the packaging is still correct. &amp;nbsp;I am
&lt;br&gt;also curious to know whether this version is faster; before, the
&lt;br&gt;Win32 version was compiled with VC6 and the Win64 version with
&lt;br&gt;VC8.
&lt;br&gt;&lt;br&gt;Besides the new compiler, there are several enhancements in this
&lt;br&gt;version, including a bagof/3 that makes some people happy :-)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Enjoy --- Jan
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26234462&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Ann%3A-Windows-binary-previews-tp26234462p26234462.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26223876</id>
	<title>Re: news system based on prolog</title>
	<published>2009-11-05T14:56:40Z</published>
	<updated>2009-11-05T14:56:40Z</updated>
	<author>
		<name>Richard O'Keefe</name>
	</author>
	<content type="html">&lt;br&gt;On Nov 6, 2009, at 5:19 AM, Alan Baljeu wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; I am using binary relations.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; example:
&lt;br&gt;&amp;gt;&amp;gt; article(1,'Text of the article').
&lt;br&gt;&amp;gt;&amp;gt; article_lang(1,'en').
&lt;br&gt;&amp;gt;&amp;gt; article_id(1,123).
&lt;br&gt;&amp;gt;&amp;gt; article_category(1,2).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That will work, and there are many ways to do this. &amp;nbsp;If you expect &amp;nbsp;
&lt;br&gt;&amp;gt; your data will be complete like typical databases, you might prefer:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; article_lang(Uid, Lang) :-
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; article(Uid, _Text, Lang, _Id, _Category).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; article_id(Uid, Id) :-
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; article(Uid, Text, Lang, Id, Category).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; article_text(Uid, Text) :-
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; article(Uid, Text, Lang, Id, Category).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; article_category(Uid, Category) :-
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; article(Uid, Text, Lang, Id, Category).
&lt;/div&gt;&lt;br&gt;Given a relation R with key K and other data A B C
&lt;br&gt;(so there are functional dependencies R : K -&amp;gt; A, R : K -&amp;gt; B, R : K -&amp;gt; &amp;nbsp;
&lt;br&gt;C)
&lt;br&gt;this can be factored as
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R_ABC(K, A, B, C)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R_AB(K, A, B) + R_C(K, C)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R_AC(K, A, C) + R_B(K, B)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R_BC(K, B, C) + R_A(K, A)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R_A(K, A) + R_B(K, B) + R_C(K, C)
&lt;br&gt;&lt;br&gt;(This has nothing to do with Prolog. &amp;nbsp;It should be covered in any good
&lt;br&gt;3rd year data base paper. &amp;nbsp;Date and Darwen have given strong arguments
&lt;br&gt;why attributes that might be missing should be split off into separate
&lt;br&gt;tables.)
&lt;br&gt;&lt;br&gt;All of these are logically equivalent. &amp;nbsp;Using &amp;gt;&amp;lt; for the &amp;quot;bow tie&amp;quot;
&lt;br&gt;operator of relational algebra,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R_ABC = R_AB &amp;gt;&amp;lt; R_C = R_AC &amp;gt;&amp;lt; R_B = R_BC &amp;gt;&amp;lt; R_A = R_A &amp;gt;&amp;lt; R_B &amp;gt;&amp;lt; R_C
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R_AB = R_A &amp;gt;&amp;lt; R_B
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R_AC = R_A &amp;gt;&amp;lt; R_C
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R_BC = R_B &amp;gt;&amp;lt; R_C
&lt;br&gt;&lt;br&gt;They are not equally efficient, but which approach is better
&lt;br&gt;DEPENDS ON WHAT YOU WANT TO DO WITH THE INFORMATION.
&lt;br&gt;&lt;br&gt;If you choose to store R_ABC as a base table and define the others
&lt;br&gt;as views (all of which will be projections), then any query is going
&lt;br&gt;to fetch (in the case of a data base, from disc; in the case of
&lt;br&gt;Prolog, by copying from the clause store to the data structure heap)
&lt;br&gt;the whole thing in one go. &amp;nbsp;If you almost always need the whole tuple,
&lt;br&gt;this is a good thing. &amp;nbsp;There's one lookup, one fetch, and everything
&lt;br&gt;fetched is useful. &amp;nbsp;If you commonly need only one of the attributes,
&lt;br&gt;it's a bad thing. &amp;nbsp;It fetches much more than you need.
&lt;br&gt;&lt;br&gt;One of the interesting things in the data base world in recent years
&lt;br&gt;has been the increasing interest in column stores, where what is
&lt;br&gt;described to the data base system as a more or less conventional
&lt;br&gt;table is actually _stored_ column-wise instead of row-wise, and
&lt;br&gt;the query optimiser ensures that only the columns that are actually
&lt;br&gt;needed for a particular query are fetched.
&lt;br&gt;&lt;br&gt;So if you almost always need only one of the attributes at a time,
&lt;br&gt;you are probably better of storing the factorised form. &amp;nbsp;If you
&lt;br&gt;need some of the attributes together (say A and B) but not the
&lt;br&gt;other, choose a semi-factored form.
&lt;br&gt;&lt;br&gt;The really interesting question comes when you have queries where
&lt;br&gt;the key is not known. &amp;nbsp;Suppose we want
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; project[A]( select[B=2, K&amp;gt;5] R_ABC )
&lt;br&gt;With full tuples stored, this can be
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for each tuple R_ABC(K, A, B, C)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if B = 2 and K &amp;gt; 5
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; add (A) to the set of results
&lt;br&gt;With fully factored form, this can be
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for each tuple R_B(K, B)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if B = 2 and K &amp;gt; 5
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for each tuple R_A(K, A) % there's only one!
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; add (A) to the set of results
&lt;br&gt;&lt;br&gt;(If memory serves me correctly, David Warren's query optimiser
&lt;br&gt;for CHAT-80 did this kind of thing.)
&lt;br&gt;&lt;br&gt;My advice is
&lt;br&gt;&amp;nbsp; - start by checking which attributes might be missing.
&lt;br&gt;&amp;nbsp; &amp;nbsp; those attributes must be in separate tables.
&lt;br&gt;&amp;nbsp; &amp;nbsp; NULL is evil in SQL. &amp;nbsp;In Prolog, it's deadly dangerous.
&lt;br&gt;&amp;nbsp; - next, write your code using the fully factored form,
&lt;br&gt;&amp;nbsp; &amp;nbsp; on the grounds that it is MUCH easier to get
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; message_sender(Message_ID, Sender)
&lt;br&gt;&amp;nbsp; &amp;nbsp; right than it is to get
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; message(Message_ID, _, _, _, Sender, _, _, _)
&lt;br&gt;&amp;nbsp; &amp;nbsp; right.
&lt;br&gt;&amp;nbsp; - when you have a clear idea of what you need to do
&lt;br&gt;&amp;nbsp; &amp;nbsp; (and this includes doing some actual profiling!),
&lt;br&gt;&amp;nbsp; &amp;nbsp; then denormalise in whatever way seems good to you.
&lt;br&gt;&lt;br&gt;SWI Prolog's ability to store large chunks of text as atoms really
&lt;br&gt;pays off with something like your problem, because copying atoms
&lt;br&gt;onto the heap is much cheaper than copying lists. &amp;nbsp;However, getting
&lt;br&gt;your code right is still very important.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; findArt(Str,Art_text,Aid):-
&lt;br&gt;&amp;gt;&amp;gt; article(Aid,Art_text),
&lt;br&gt;&amp;gt;&amp;gt; search_atom(Art_text,Str),
&lt;br&gt;&amp;gt;&amp;gt; article_id(Aid,Article_id).
&lt;br&gt;&lt;br&gt;while ugly, is much easier to write and read than
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This could become simply
&lt;br&gt;&amp;gt; &amp;nbsp; article(A,Art_text,B,C,D,E), search_atom(Art_text, Str)
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; But how to write it efficiently in Prolog? We plan to have may be &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; millions of articles connected to diff sections/categories/sites/ 
&lt;br&gt;&amp;gt;&amp;gt; portals etc.
&lt;br&gt;&lt;br&gt;How big are the articles?
&lt;br&gt;Why not _measure_ (using statistics/0, or otherwise) the size of several
&lt;br&gt;representations of small collections of articles, and use that to
&lt;br&gt;predict how much memory a million-article collection is likely to be?
&lt;br&gt;How much memory will the machine your program runs on have?
&lt;br&gt;&lt;br&gt;Have you considered distributing your program across several machines?
&lt;br&gt;&lt;br&gt;Some kinds of queries (date, size, ID) are easy to express in Prolog,
&lt;br&gt;but free text queries need a different kind of index. &amp;nbsp;For example,
&lt;br&gt;it is very rare for anyone to actually want to search for a *string*
&lt;br&gt;in the text of an article. &amp;nbsp;They're more likely to be interested in
&lt;br&gt;searching for a *word* (or a word with the same stem as the query) or
&lt;br&gt;a phrase &amp;c.
&lt;br&gt;&lt;br&gt;Have you considered putting the text of the articles in an information
&lt;br&gt;retrieval system (such as the free zettair program from Melbourne) and
&lt;br&gt;calling it with free text queries, getting back a list of article IDs,
&lt;br&gt;and doing the rest in Prolog?
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223876&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/news-system-based-on-prolog-tp26216837p26223876.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26223232</id>
	<title>Re: Help with recursion</title>
	<published>2009-11-05T14:13:05Z</published>
	<updated>2009-11-05T14:13:05Z</updated>
	<author>
		<name>Richard O'Keefe</name>
	</author>
	<content type="html">&lt;br&gt;On Nov 4, 2009, at 6:32 PM, Resinade wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi, I'm new to prologe and I'm trying to figure out how to do a &amp;nbsp;
&lt;br&gt;&amp;gt; recursive
&lt;br&gt;&amp;gt; function where i can take 2 bags, such as [1,1,2,3,4,4,4] and &amp;nbsp;
&lt;br&gt;&amp;gt; [1,2,3,3,4,5]
&lt;br&gt;&amp;gt; and add them together and get the answer [1,1,1,2,2,3,3,3,4,4,4,4,5]
&lt;br&gt;&amp;gt; and i'd do an input such as
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; sumb(A,B,C).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; where A is my first bag, B is my second bag and C is my output, any &amp;nbsp;
&lt;br&gt;&amp;gt; help
&lt;br&gt;&amp;gt; would be apreciated.
&lt;/div&gt;&lt;br&gt;This sounds like a homework problem.
&lt;br&gt;&lt;br&gt;&amp;quot;sumb&amp;quot; is a TERRIBLE name! &amp;nbsp;Who can tell what it means?
&lt;br&gt;The operation is bag (or multiset) union, so
&lt;br&gt;bag_union(Bag1, Bag2, Union) would stand some chance of not
&lt;br&gt;puzzling your human readers _too_ much.
&lt;br&gt;&lt;br&gt;At first sight, it looks as though SWI's merge/3 built in predicate
&lt;br&gt;does what you want, so
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union(Bag1, Bag2, Union) :-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; merge(Bag1, Bag2, Union).
&lt;br&gt;&lt;br&gt;Of course, if you to be able to find Bag1 and/or Bag2 given
&lt;br&gt;Union, which is a perfectly reasonable thing for a Prolog
&lt;br&gt;programmer to want, it gets a bit harder.
&lt;br&gt;&lt;br&gt;You specifically asked for help with recursion.
&lt;br&gt;Recursion isn't any different in Prolog than in any other
&lt;br&gt;language. &amp;nbsp;If you haven't read &amp;quot;The Little Lisper&amp;quot; or its
&lt;br&gt;successor &amp;quot;The Little Schemere&amp;quot;, this would be a good time.
&lt;br&gt;You might also find &lt;a href=&quot;http://www.htdp.org/2003-09-26/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.htdp.org/2003-09-26/&lt;/a&gt;&amp;nbsp;helpful.
&lt;br&gt;Those references are about Lisp and Scheme, but many of the
&lt;br&gt;ideas carry over.
&lt;br&gt;&lt;br&gt;The basic questions are
&lt;br&gt;&amp;nbsp; - what argument(s) drive(s) the recursion?
&lt;br&gt;&amp;nbsp; - what is(are) the base case(s)?
&lt;br&gt;&amp;nbsp; - what is(are) the step case(s)?
&lt;br&gt;&lt;br&gt;In this case, I'm going to let the Union argument drive
&lt;br&gt;the recursion. &amp;nbsp;The base case is when the Union is empty.
&lt;br&gt;&lt;br&gt;bag_union([], [], []).
&lt;br&gt;&lt;br&gt;The step cases occur when the Union is not empty.
&lt;br&gt;The first element of the Union must be the first element
&lt;br&gt;of Bag1 or the first element of Bag2, and the remaining
&lt;br&gt;elements of the Union must be the union of what's left.
&lt;br&gt;&lt;br&gt;bag_union([X|Bag1], Bag2, [X|Union]) :-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;should_choose(X, Bag1, Bag2),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;bag_union(Bag1, Bag2, Union).
&lt;br&gt;bag_union(Bag1, [X|Bag2], [X|Union]) :-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;should_choose(X, Bag2, Bag1),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;bag_union(Bag1, Bag2, Union).
&lt;br&gt;&lt;br&gt;When should X be chosen from Bag1 instead of Bag2?
&lt;br&gt;If Bag2 is empty, we _can't_ choose from Bag2.
&lt;br&gt;If Bag2 is [Y|Something], we can choose X if X =&amp;lt; Y
&lt;br&gt;(if we are working with numbers) or X @=&amp;lt; Y (if we
&lt;br&gt;are working with terms such as atoms or strings).
&lt;br&gt;&lt;br&gt;should_choose(_, _, []).
&lt;br&gt;should_choose(X, _, [Y|_]) :- X @=&amp;lt; Y.
&lt;br&gt;&lt;br&gt;So now we have it, a correct version of bag union:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([], [], []).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([X|Bag1], Bag2, [X|Union]) :-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union_check(Bag2, X),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union(Bag1, Bag2, Union).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union(Bag1, [X|Bag2], [X|Union]) :-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union_check(Bag1, X),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union(Bag1, Bag2, Union).
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union_check([], _).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union_check([Y|_], X) :- X @=&amp;lt; Y.
&lt;br&gt;&lt;br&gt;This does actually work in the forward direction.
&lt;br&gt;(Exercise for the reader: &amp;nbsp;why doesn't it work in
&lt;br&gt;the reverse direction?) &amp;nbsp;However, it could be more
&lt;br&gt;efficient. &amp;nbsp;In particular, when X and Y are equal,
&lt;br&gt;it doesn't make any difference which one we pick.
&lt;br&gt;Let's start by unfolding bag_union_check/2.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([], [], []).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([X|Bag1], [], [X|Union]) :-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union(Bag1, [], Union).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([X|Bag1], [Y|Bag2], [X|Union]) :-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; X @=&amp;lt; Y,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union(Bag1, [Y|Bag2], Union).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([], [X|Bag2], [X|Union]) :-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([], Bag2, Union).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([Y|Bag1], [X|Bag2], [X|Union]) :-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; X @=&amp;lt; Y,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([Y|Bag1], Bag2, Union).
&lt;br&gt;&lt;br&gt;The only case of overlap is the [_|Bag1], [_|Bag2] clauses.
&lt;br&gt;Let's move them first, and combine them.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([A|Bag1], [B|Bag2], [C|Union]) :-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ( &amp;nbsp; A @=&amp;lt; B -&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C = A,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union(Bag1, [B|Bag2], Union)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;/* A @&amp;gt; B */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C = B,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([A|Bag1], Bag2, Union)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([X|Bag1], [], [X|Union]) :-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union(Bag1, [], Union).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([], [], []).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([], [Y|Bag2], [Y|Union]) :-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([], Bag2, Union).
&lt;br&gt;&lt;br&gt;We note that the last two clauses are equivalent to
&lt;br&gt;&amp;quot;Union = Bag2 and Union is a list&amp;quot;. &amp;nbsp;If we're trusting,
&lt;br&gt;or are using a type checker, we can eliminate that
&lt;br&gt;copying step.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([A|Bag1], [B|Bag2], [C|Union]) :-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ( &amp;nbsp; A @=&amp;lt; B -&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C = A,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union(Bag1, [B|Bag2], Union)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;/* A @&amp;gt; B */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C = B,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([A|Bag1], Bag2, Union)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([X|Bag1], [], [X|Bag1]).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bag_union([], Bag2, Bag2).
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26223232&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Help-with-recursion-tp26210974p26223232.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26221995</id>
	<title>Re: news system based on prolog</title>
	<published>2009-11-05T12:47:28Z</published>
	<updated>2009-11-05T12:47:28Z</updated>
	<author>
		<name>Jan Wielemaker-3</name>
	</author>
	<content type="html">On Thu, 2009-11-05 at 22:26 +0200, Levan Cheishvili wrote:
&lt;br&gt;&amp;gt; I agree with what you write, and believe that &amp;nbsp;RDF/Sparql may be
&lt;br&gt;&amp;gt; relevant in my case. This is what people say here. 
&lt;br&gt;&lt;br&gt;Using the RDF infrastructure might make a lot of sense. &amp;nbsp;It also
&lt;br&gt;provides quite efficient persistency and an easy way to switch
&lt;br&gt;from the memory-based Prolog infrastructure to external database
&lt;br&gt;oriented solutions.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Cheers --- Jan
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26221995&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/news-system-based-on-prolog-tp26216837p26221995.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26221953</id>
	<title>Re: asynchronous callback to prolog from C thread</title>
	<published>2009-11-05T12:44:57Z</published>
	<updated>2009-11-05T12:44:57Z</updated>
	<author>
		<name>Jan Wielemaker-3</name>
	</author>
	<content type="html">On Thu, 2009-11-05 at 19:01 +0000, Samer Abdallah wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I'm working on the other half of my Prolog-OSC module,
&lt;br&gt;&amp;gt; specifically the part that responds to OSC messages. I'm
&lt;br&gt;&amp;gt; using liblo, which provides a relatively simple framework
&lt;br&gt;&amp;gt; for receiving OSC messages by managing a separate server
&lt;br&gt;&amp;gt; thread, which calls back to a registered function when a
&lt;br&gt;&amp;gt; message is received.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The problem I'm having is that when I try to use any of the
&lt;br&gt;&amp;gt; foreign interface functions in the call back function (even
&lt;br&gt;&amp;gt; PL_new_term_refs()) I get a Bus Error.
&lt;/div&gt;&lt;br&gt;A first possible reason is that the initiating thread has no
&lt;br&gt;Prolog engine. &amp;nbsp;See PL_create_engine() and friends.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Cheers --- Jan
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; To give a flavour of what's going on, to register a callback,
&lt;br&gt;&amp;gt; and start the server thread, I do (in C)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	lo_server_thread st = lo_server_thread_new(p, handle_error);
&lt;br&gt;&amp;gt; 	lo_server_thread_add_method(st, pattern, typespec, prolog_handler, &amp;nbsp;
&lt;br&gt;&amp;gt; (void *)userdata);
&lt;br&gt;&amp;gt; 	lo_server_thread_start(st);
&lt;br&gt;&amp;gt; 	
&lt;br&gt;&amp;gt; and the call back looks like this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	static int prolog_handler(const char *path, const char *types, &amp;nbsp;
&lt;br&gt;&amp;gt; lo_arg **argv,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;	int argc, lo_message msg, void *user_data)
&lt;br&gt;&amp;gt; 	{
&lt;br&gt;&amp;gt; 	 	term_t term0 = PL_new_term_refs(3);
&lt;br&gt;&amp;gt; 		printf(&amp;quot;message: %s\n&amp;quot;,path);
&lt;br&gt;&amp;gt; 		// do more stuff
&lt;br&gt;&amp;gt; 	 &amp;nbsp;	return 1;
&lt;br&gt;&amp;gt; 	}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Without the call to PL_new_term_ref, this works, but with it
&lt;br&gt;&amp;gt; I get a Bus Error and Prolog crashes.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Is there something I need to do to prepare the server thread?
&lt;br&gt;&amp;gt; Or do I need to create my own server thread and use the
&lt;br&gt;&amp;gt; lower level liblo functions to write the OSC message
&lt;br&gt;&amp;gt; handling loop?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; cheers,
&lt;br&gt;&amp;gt; Samer.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; SWI-Prolog mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26221953&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;SWI-Prolog mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26221953&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SWI-Prolog@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/asynchronous-callback-to-prolog-from-C-thread-tp26220469p26221953.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26221712</id>
	<title>Re: news system based on prolog</title>
	<published>2009-11-05T12:26:45Z</published>
	<updated>2009-11-05T12:26:45Z</updated>
	<author>
		<name>Lev777</name>
	</author>
	<content type="html">&lt;div dir=&quot;ltr&quot;&gt;I agree with what you write, and believe that  RDF/Sparql may be relevant in my case. This is what people say here. &lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Thu, Nov 5, 2009 at 6:19 PM, Alan Baljeu &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26221712&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alanbaljeu@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;div class=&quot;im&quot;&gt;&amp;gt;I am using binary relations.&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;/div&gt;&lt;div class=&quot;im&quot;&gt;example:&lt;br&gt;
&amp;gt;article(1,&amp;#39;Text of the article&amp;#39;).&lt;br&gt;
&amp;gt;article_lang(1,&amp;#39;en&amp;#39;).&lt;br&gt;
&amp;gt;article_id(1,123).&lt;br&gt;
&lt;/div&gt;&amp;gt;article_category(1,2).&lt;br&gt;
&lt;br&gt;
That will work, and there are many ways to do this.  If you expect your data will be complete like typical databases, you might prefer:&lt;br&gt;
&lt;br&gt;
article_lang(Uid, Lang) :-&lt;br&gt;
           article(Uid, _Text, Lang, _Id, _Category).&lt;br&gt;
&lt;br&gt;
article_id(Uid, Id) :-&lt;br&gt;
           article(Uid, Text, Lang, Id, Category).&lt;br&gt;
&lt;br&gt;
article_text(Uid, Text) :-&lt;br&gt;
           article(Uid, Text, Lang, Id, Category).&lt;br&gt;
&lt;br&gt;
article_category(Uid, Category) :-&lt;br&gt;
           article(Uid, Text, Lang, Id, Category).&lt;br&gt;
&lt;br&gt;
then:&lt;br&gt;
&lt;br&gt;
article(1, &amp;#39;Text of the article&amp;#39;, &amp;#39;en&amp;#39;, 123, 2).&lt;br&gt;
article(2, &amp;#39;Teuaeo&amp;#39;, &amp;#39;fr&amp;#39;, 13, 2).&lt;br&gt;
&lt;br&gt;
supplemented by some predicates to access the structure:&lt;br&gt;
&lt;br&gt;
You can follow this pattern for all your structures.  This is more efficient for queries that acccess several fields concurrently.&lt;br&gt;
&lt;br&gt;
&amp;gt;findArt(Str,Art_text,Aid):-&lt;br&gt;
&lt;div class=&quot;im&quot;&gt; &amp;gt; article(Aid,Art_text),&lt;br&gt;
 &amp;gt; search_atom(Art_text,Str),&lt;br&gt;
 &amp;gt; article_id(Aid,Article_id).&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;This could become simply   article(A,Art_text,B,C,D,E), search_atom(Art_text, Str)&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&amp;gt;But, what will happen if I need to search for inclusion of some string within articles&lt;br&gt;
&amp;gt;of particular portals, sites and categories? And will need to fetch additional properties&lt;br&gt;
&amp;gt;like article_author, article_time etc? Or sort by 2-3 fields and extract just 20 out of all results.&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;This is trivial to write if you only have one predicate for each concept.  Just invoke each predicate and equate matching fields.&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&amp;gt; But how to write it efficiently in Prolog? We plan to have may be millions of articles connected to diff sections/categories/sites/portals etc.&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;SWI indexing is primarily on the first fields of a query, so if your queries are primarily linking records by the key field this will be efficient, basically one linear search for articles, and then filtering those articles by indexed lookups of the other tables.&lt;br&gt;


&lt;br&gt;
But I have no experience with large datasets.  There are many other approaches to efficiency, and somebody else will have to speak up if this is not quick enough for you.&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;&lt;br&gt;
&lt;br&gt;
--&lt;br&gt;
Best Regards&lt;br&gt;
Levan Cheishvili&lt;br&gt;
&lt;/font&gt;&lt;div class=&quot;hm&quot;&gt;&lt;br&gt;
&lt;br&gt;
      __________________________________________________________________&lt;br&gt;
Connect with friends from any web browser - no download required. Try the new Yahoo! Canada Messenger for the Web BETA at &lt;a href=&quot;http://ca.messenger.yahoo.com/webmessengerpromo.php&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://ca.messenger.yahoo.com/webmessengerpromo.php&lt;/a&gt;&lt;br&gt;


&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Best Regards&lt;br&gt;Levan Cheishvili&lt;br&gt;&lt;br&gt;
&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/news-system-based-on-prolog-tp26216837p26221712.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26222159</id>
	<title>Re: news system based on prolog</title>
	<published>2009-11-05T12:24:11Z</published>
	<updated>2009-11-05T12:24:11Z</updated>
	<author>
		<name>Lev777</name>
	</author>
	<content type="html">&lt;div dir=&quot;ltr&quot;&gt;I think you are right. I have downloaded triple20, will try it.&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Thu, Nov 5, 2009 at 6:42 PM, Torbjörn Lager &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26222159&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;torbjorn.lager@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;If you are going to target SWI-Prolog in particular, I recommend that&lt;br&gt;
you take a close look at the RDF libraries. They will give all that&lt;br&gt;
you need in terms of efficient search, ability to store millions of&lt;br&gt;
&amp;quot;facts&amp;quot;, etc.&lt;br&gt;
&lt;br&gt;
- Torbjörn&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
On Thu, Nov 5, 2009 at 4:26 PM, Levan Cheishvili&lt;br&gt;
&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26222159&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;levan.cheishvili@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
&amp;gt; Hi ALL!&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I am participating in the news system project. The &amp;quot;engine&amp;quot; or &amp;quot;data store&amp;quot;&lt;br&gt;
&amp;gt; will be based on prolog.&lt;br&gt;
&amp;gt; As am quite new to prolog and I am asking for your kind advices and&lt;br&gt;
&amp;gt; directions.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I am using binary relations.&lt;br&gt;
&amp;gt; Uid - is surrogate key unique all over the DB&lt;br&gt;
&amp;gt; all terms are in form of :&lt;br&gt;
&amp;gt; term(uid,data).&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; example:&lt;br&gt;
&amp;gt; article(1,&amp;#39;Text of the article&amp;#39;).&lt;br&gt;
&amp;gt; article_lang(1,&amp;#39;en&amp;#39;).&lt;br&gt;
&amp;gt; article_id(1,123).&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; 1 - is the surrogate key&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; article_category(1,2).&lt;br&gt;
&amp;gt; 2 - is a surrogate key of category connected to the article&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; category(2,&amp;#39;Name of category&amp;#39;).&lt;br&gt;
&amp;gt; category_id(2,222). % 222 is id of the category&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; ....&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; section(100,&amp;#39;Name of section&amp;#39;).&lt;br&gt;
&amp;gt; section_lang(100,&amp;#39;en&amp;#39;).&lt;br&gt;
&amp;gt; section_category(100,2).&lt;br&gt;
&amp;gt; ......&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; site(1200,&amp;#39;Name of a site&amp;#39;).&lt;br&gt;
&amp;gt; site_section(1200,100).&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; .....&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; portal(3000,&amp;#39;Name of portal&amp;#39;).&lt;br&gt;
&amp;gt; portal_lang(3000,&amp;#39;en&amp;#39;).&lt;br&gt;
&amp;gt; portal_site(3000,2).&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; ....&lt;br&gt;
&amp;gt; And so on.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; My question:  is the above Data structure efficient for the news project?&lt;br&gt;
&amp;gt; For example search:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; If I want to find all articles which contain some string:&lt;br&gt;
&amp;gt; search_atom(Fullstr,Str):-&lt;br&gt;
&amp;gt;   downcase_atom(Fullstr, FullstrL),&lt;br&gt;
&amp;gt;   downcase_atom(Str, StrL),&lt;br&gt;
&amp;gt;   sub_atom(FullstrL,_,_,_,StrL).&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; findArt(Str,Art_text,Article_id):-&lt;br&gt;
&amp;gt;   article(Aid,Art_text),&lt;br&gt;
&amp;gt;   search_atom(Art_text,Str),&lt;br&gt;
&amp;gt;   article_id(Aid,Article_id).&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; %this is quite easy and gives me all articles with the string , one by one.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Even if I want to get full list unique articles which contain the string it&lt;br&gt;
&amp;gt; is not a problem.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; find_list_of_arts(Str,List):-&lt;br&gt;
&amp;gt;  setof(&lt;br&gt;
&amp;gt;   Res,&lt;br&gt;
&amp;gt;    (&lt;br&gt;
&amp;gt;     findArt(Str,Art_text,Article_id),&lt;br&gt;
&amp;gt;     Res=[article_id-Article_id, text-Art_text]&lt;br&gt;
&amp;gt;    ),&lt;br&gt;
&amp;gt;    List&lt;br&gt;
&amp;gt;  ).&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; findAll(Str,Result):-&lt;br&gt;
&amp;gt;   findall(List,find_list_of_arts(Str,List),Result).&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; even if there are 30-50000 of atoms, result is generated in acceptable time.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; But, what will happen if I need to search for inclusion of some string&lt;br&gt;
&amp;gt; within articles of particular portals, sites and categories? And will need&lt;br&gt;
&amp;gt; to fetch additional properties like article_author, article_time etc? Or&lt;br&gt;
&amp;gt; sort by 2-3 fields and extract just 20 out of all results.&lt;br&gt;
&amp;gt;  In SQL it is quite easy to write one sentence or split into several&lt;br&gt;
&amp;gt; statements and will gain memory and speed on big data sets.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; But how to write it efficiently in Prolog? We plan to have may be millions&lt;br&gt;
&amp;gt; of articles connected to diff sections/categories/sites/portals etc.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; --&lt;br&gt;
&amp;gt; Best Regards&lt;br&gt;
&amp;gt; Levan Cheishvili&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;font color=&quot;#888888&quot;&gt;--&lt;br&gt;
Torbjörn Lager&lt;br&gt;
Professor of General and Computational Linguistics&lt;br&gt;
Department of Philosophy, Linguistics and Theory of Science&lt;br&gt;
University of Gothenburg&lt;br&gt;
Box 200, SE-405 30 Gothenburg, Sweden&lt;br&gt;
Phone: +46317864413&lt;br&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Best Regards&lt;br&gt;Levan Cheishvili&lt;br&gt;&lt;br&gt;
&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/news-system-based-on-prolog-tp26216837p26222159.html" />
</entry>

</feed>
