You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(23) |
Nov
(29) |
Dec
(21) |
2007 |
Jan
(48) |
Feb
(9) |
Mar
(49) |
Apr
(49) |
May
(33) |
Jun
(28) |
Jul
(34) |
Aug
(51) |
Sep
(52) |
Oct
(26) |
Nov
(15) |
Dec
(26) |
2008 |
Jan
(21) |
Feb
(22) |
Mar
(19) |
Apr
(35) |
May
(23) |
Jun
(62) |
Jul
(11) |
Aug
(20) |
Sep
(35) |
Oct
(46) |
Nov
(22) |
Dec
(3) |
2009 |
Jan
(45) |
Feb
(59) |
Mar
(24) |
Apr
(19) |
May
(10) |
Jun
(17) |
Jul
(16) |
Aug
(30) |
Sep
(41) |
Oct
(55) |
Nov
(37) |
Dec
(18) |
2010 |
Jan
(13) |
Feb
(103) |
Mar
(64) |
Apr
(134) |
May
(35) |
Jun
(47) |
Jul
(31) |
Aug
(27) |
Sep
(29) |
Oct
(6) |
Nov
(5) |
Dec
(8) |
2011 |
Jan
(20) |
Feb
(6) |
Mar
(8) |
Apr
(19) |
May
(36) |
Jun
(23) |
Jul
(10) |
Aug
(14) |
Sep
(54) |
Oct
(15) |
Nov
(29) |
Dec
(19) |
2012 |
Jan
(20) |
Feb
(11) |
Mar
(21) |
Apr
(7) |
May
(17) |
Jun
(3) |
Jul
(9) |
Aug
(10) |
Sep
(19) |
Oct
(46) |
Nov
(22) |
Dec
(3) |
2013 |
Jan
(6) |
Feb
(27) |
Mar
(9) |
Apr
(13) |
May
(9) |
Jun
(18) |
Jul
(33) |
Aug
(32) |
Sep
(10) |
Oct
(16) |
Nov
(3) |
Dec
(16) |
2014 |
Jan
(3) |
Feb
(4) |
Mar
|
Apr
(3) |
May
(5) |
Jun
(4) |
Jul
(1) |
Aug
(13) |
Sep
(9) |
Oct
(5) |
Nov
(12) |
Dec
(39) |
2015 |
Jan
(14) |
Feb
(15) |
Mar
(5) |
Apr
(4) |
May
(3) |
Jun
(12) |
Jul
(6) |
Aug
|
Sep
(1) |
Oct
(15) |
Nov
(6) |
Dec
(5) |
2016 |
Jan
|
Feb
(11) |
Mar
(17) |
Apr
|
May
(1) |
Jun
(6) |
Jul
(3) |
Aug
(1) |
Sep
(9) |
Oct
|
Nov
(7) |
Dec
|
2017 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
(6) |
Jul
|
Aug
(3) |
Sep
(6) |
Oct
(2) |
Nov
(1) |
Dec
(1) |
2018 |
Jan
(1) |
Feb
(8) |
Mar
|
Apr
(5) |
May
(4) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
2019 |
Jan
(3) |
Feb
(1) |
Mar
|
Apr
(1) |
May
(5) |
Jun
|
Jul
|
Aug
|
Sep
(8) |
Oct
(1) |
Nov
(1) |
Dec
(5) |
2020 |
Jan
(1) |
Feb
|
Mar
(3) |
Apr
(6) |
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(4) |
2021 |
Jan
|
Feb
(1) |
Mar
|
Apr
(4) |
May
|
Jun
(13) |
Jul
(10) |
Aug
(4) |
Sep
(1) |
Oct
(4) |
Nov
|
Dec
(1) |
2022 |
Jan
(1) |
Feb
(4) |
Mar
(1) |
Apr
(3) |
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(1) |
Nov
(1) |
Dec
(5) |
2023 |
Jan
|
Feb
(6) |
Mar
(11) |
Apr
(3) |
May
(1) |
Jun
(1) |
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2024 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
(2) |
Jun
(1) |
Jul
(2) |
Aug
(2) |
Sep
(3) |
Oct
(2) |
Nov
(1) |
Dec
(1) |
2025 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Joachim S. <jsc...@co...> - 2015-12-14 13:27:03
|
On 14/12/15 07:50, Edgaonkar, Shrirang wrote: > Dear clp users, > > Following is a sample of tentative variables. > > :- lib(ic). > :- lib(tentative). > solveNULLTest(Var):- > Var #:: 1..10, > tent_set(Var, 3). > > Output is:- > > ?- solveNULLTest(Var). > Var = Var{tentative : (3 -> 0), ic : 1 .. 10} > Yes (0.00s cpu) > > I use a java interface to solve the goals in eclipse and need information about > the tentative values of variables in java. Is there a way to do that in? > > Currently java will give the following output:- > > com.parctechnologies.eclipse.CompoundTermImpl with [functor=solveNULLTest > arity=1 arg(1)=null] > > But I would need the tentative values of the tentative variable(3 in this case) > in the java output. Java has no support for accessing variable attributes. Just extract the tentative values in ECLiPSe, and return them to Java directly: solveNULLTest(Tent):- Var #:: 1..10, tent_set(Var, 3), tent_get(Var, Tent). -- Joachim |
From: Edgaonkar, S. <Shr...@nt...> - 2015-12-14 07:56:10
|
Dear clp users, Following is a sample of tentative variables. :- lib(ic). :- lib(tentative). solveNULLTest(Var):- Var #:: 1..10, tent_set(Var, 3). Output is:- ?- solveNULLTest(Var). Var = Var{tentative : (3 -> 0), ic : 1 .. 10} Yes (0.00s cpu) I use a java interface to solve the goals in eclipse and need information about the tentative values of variables in java. Is there a way to do that in? Currently java will give the following output:- com.parctechnologies.eclipse.CompoundTermImpl with [functor=solveNULLTest arity=1 arg(1)=null] But I would need the tentative values of the tentative variable(3 in this case) in the java output. Thanks and Regards, Shrirang Edgaonkar ______________________________________________________________________ Disclaimer: This email and any attachments are sent in strictest confidence for the sole use of the addressee and may contain legally privileged, confidential, and proprietary data. If you are not the intended recipient, please advise the sender by replying promptly to this email and then delete and destroy this email and any attachments without any further use, copying or forwarding. |
From: Joachim S. <jsc...@co...> - 2015-12-12 02:19:19
|
For those who have heard of, and want to try, the "GCHQ christmas puzzle" http://www.gchq.gov.uk/press_and_media/news_and_features/Pages/Directors-Christmas-puzzle-2015.aspx I have updated the "nonogram" solver example on the ECLiPSe web site to take pre-filled squares into account, and added the puzzle's data set, see http://eclipseclp.org/examples/nono_regular.ecl.txt To solve, run the goal go(gchq). Cheers, Joachim |
From: Edgaonkar, S. <Shr...@nt...> - 2015-11-29 01:27:59
|
Hi Kish, Yes. I am tryng to write a simple code that matches the situation. I am sure sending my whole source code to the group wouldnt be appropriate. Will come back with more details soon. Thanks for your support. Regards, Shrirang Edgaonkar ________________________________ From: Kish Shen [kis...@gm...] Sent: 29 November 2015 09:03:49 To: Edgaonkar, Shrirang Cc: ecl...@li... Subject: Re: [eclipse-clp-users] Error_Handler Hi Shrirang, >My program does not execute a call(X). So I am not sure why the error. When reporting a problem, you should give code that will generate the problem you see -- ideally, you should try to give a simple example that will reproduce your error. I also do not quite understand what you are seeing: what exactly do you mean by there is a call to error_handler/4? Normally you should not see this, and instead you should just see the 'instantiation error' message (which is the default handler for the error). Cheers, Kish On Sat, Nov 28, 2015 at 7:08 AM, Edgaonkar, Shrirang <Shr...@nt...<mailto:Shr...@nt...>> wrote: Dear Marco, My program does not execute a call(X). So I am not sure why the error. Following is the program that resembles my intentions of the program. solveError(X):- Y #:: 1..3, X #:: 1..10, goal(X), member(Y,[1]), search([X],0,most_constrained,indomain,complete,[]). goal(X):- (member(X,[1,2,3]);true). The intention is simple. If all the possible solutions of X via the member function in goal(X) are exhausted, look for more solution through search. Though the program shown over here works fine, my original source code has some issue and it aborts abnormally. Your email surely provided me a direction to find my solution. Hopefully I will fix it. Thanks for the help. Cheers, Shrirang ________________________________________ From: Marco Gavanelli [mar...@un...<mailto:mar...@un...>] Sent: 27 November 2015 23:21:44 To: ecl...@li...<mailto:ecl...@li...> Subject: Re: [eclipse-clp-users] Error_Handler Dear Shrirang, I notice only now that the error you get gives more precise information: it also says what is the predicate that raises the error: call(_1933). This means that your program executes call(X), where X is a variable. You cannot invoke a predicate which is a variable. Hope this helps. Marco On 27/11/15 03:45, Edgaonkar, Shrirang wrote: > Dear clp users, > > > > I have situation where I get one solution for my goal correctly. But on backtracking when there are no more solutions, I get the following call to error_handler and subsequently the program aborts. > > > > error_handler(4, call(_1933), eclipse, eclipse) > > > > What are the possible conditions when I get such a call to error_handler ? > > > > Thanks and Regards, > > Shrirang Edgaonkar > > > > ______________________________________________________________________ > Disclaimer: This email and any attachments are sent in strictest confidence > for the sole use of the addressee and may contain legally privileged, > confidential, and proprietary data. If you are not the intended recipient, > please advise the sender by replying promptly to this email and then delete > and destroy this email and any attachments without any further use, copying > or forwarding. > > > > ------------------------------------------------------------------------------ > > > > _______________________________________________ > ECLiPSe-CLP-Users mailing list > ECL...@li...<mailto:ECL...@li...> > https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users > -- Marco Gavanelli Associate Professor Ph.D. in Computer Science Dept of Engineering University of Ferrara Tel/Fax +39-0532-97-4833<tel:%2B39-0532-97-4833> http://docente.unife.it/marco.gavanelli ------------------------------------------------------------------------------ _______________________________________________ ECLiPSe-CLP-Users mailing list ECL...@li...<mailto:ECL...@li...> https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users ______________________________________________________________________ Disclaimer: This email and any attachments are sent in strictest confidence for the sole use of the addressee and may contain legally privileged, confidential, and proprietary data. If you are not the intended recipient, please advise the sender by replying promptly to this email and then delete and destroy this email and any attachments without any further use, copying or forwarding. ------------------------------------------------------------------------------ _______________________________________________ ECLiPSe-CLP-Users mailing list ECL...@li...<mailto:ECL...@li...> https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users ______________________________________________________________________ Disclaimer: This email and any attachments are sent in strictest confidence for the sole use of the addressee and may contain legally privileged, confidential, and proprietary data. If you are not the intended recipient, please advise the sender by replying promptly to this email and then delete and destroy this email and any attachments without any further use, copying or forwarding. |
From: Kish S. <kis...@gm...> - 2015-11-29 00:03:56
|
Hi Shrirang, >My program does not execute a call(X). So I am not sure why the error. When reporting a problem, you should give code that will generate the problem you see -- ideally, you should try to give a simple example that will reproduce your error. I also do not quite understand what you are seeing: what exactly do you mean by there is a call to error_handler/4? Normally you should not see this, and instead you should just see the 'instantiation error' message (which is the default handler for the error). Cheers, Kish On Sat, Nov 28, 2015 at 7:08 AM, Edgaonkar, Shrirang < Shr...@nt...> wrote: > Dear Marco, > > My program does not execute a call(X). So I am not sure why the error. > Following is the program that resembles my intentions of the program. > > solveError(X):- > Y #:: 1..3, > X #:: 1..10, > goal(X), > member(Y,[1]), > search([X],0,most_constrained,indomain,complete,[]). > > goal(X):- (member(X,[1,2,3]);true). > > > The intention is simple. If all the possible solutions of X via the member > function in goal(X) are exhausted, look for more solution through search. > Though the program shown over here works fine, my original source code has > some issue and it aborts abnormally. Your email surely provided me a > direction to find my solution. Hopefully I will fix it. > > Thanks for the help. > > Cheers, > Shrirang > > ________________________________________ > From: Marco Gavanelli [mar...@un...] > Sent: 27 November 2015 23:21:44 > To: ecl...@li... > Subject: Re: [eclipse-clp-users] Error_Handler > > Dear Shrirang, > > I notice only now that the error you get gives more precise information: > it also says what is the predicate that raises the error: call(_1933). > > This means that your program executes call(X), where X is a variable. > You cannot invoke a predicate which is a variable. > > Hope this helps. > > Marco > > On 27/11/15 03:45, Edgaonkar, Shrirang wrote: > > Dear clp users, > > > > > > > > I have situation where I get one solution for my goal correctly. But > on backtracking when there are no more solutions, I get the following call > to error_handler and subsequently the program aborts. > > > > > > > > error_handler(4, call(_1933), eclipse, eclipse) > > > > > > > > What are the possible conditions when I get such a call to error_handler > ? > > > > > > > > Thanks and Regards, > > > > Shrirang Edgaonkar > > > > > > > > ______________________________________________________________________ > > Disclaimer: This email and any attachments are sent in strictest > confidence > > for the sole use of the addressee and may contain legally privileged, > > confidential, and proprietary data. If you are not the intended > recipient, > > please advise the sender by replying promptly to this email and then > delete > > and destroy this email and any attachments without any further use, > copying > > or forwarding. > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > > _______________________________________________ > > ECLiPSe-CLP-Users mailing list > > ECL...@li... > > https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users > > > > > -- > Marco Gavanelli > Associate Professor > Ph.D. in Computer Science > Dept of Engineering > University of Ferrara > Tel/Fax +39-0532-97-4833 > http://docente.unife.it/marco.gavanelli > > > ------------------------------------------------------------------------------ > _______________________________________________ > ECLiPSe-CLP-Users mailing list > ECL...@li... > https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users > > ______________________________________________________________________ > Disclaimer: This email and any attachments are sent in strictest confidence > for the sole use of the addressee and may contain legally privileged, > confidential, and proprietary data. If you are not the intended recipient, > please advise the sender by replying promptly to this email and then delete > and destroy this email and any attachments without any further use, copying > or forwarding. > > > ------------------------------------------------------------------------------ > _______________________________________________ > ECLiPSe-CLP-Users mailing list > ECL...@li... > https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users > |
From: Edgaonkar, S. <Shr...@nt...> - 2015-11-28 07:28:58
|
Dear Marco, My program does not execute a call(X). So I am not sure why the error. Following is the program that resembles my intentions of the program. solveError(X):- Y #:: 1..3, X #:: 1..10, goal(X), member(Y,[1]), search([X],0,most_constrained,indomain,complete,[]). goal(X):- (member(X,[1,2,3]);true). The intention is simple. If all the possible solutions of X via the member function in goal(X) are exhausted, look for more solution through search. Though the program shown over here works fine, my original source code has some issue and it aborts abnormally. Your email surely provided me a direction to find my solution. Hopefully I will fix it. Thanks for the help. Cheers, Shrirang ________________________________________ From: Marco Gavanelli [mar...@un...] Sent: 27 November 2015 23:21:44 To: ecl...@li... Subject: Re: [eclipse-clp-users] Error_Handler Dear Shrirang, I notice only now that the error you get gives more precise information: it also says what is the predicate that raises the error: call(_1933). This means that your program executes call(X), where X is a variable. You cannot invoke a predicate which is a variable. Hope this helps. Marco On 27/11/15 03:45, Edgaonkar, Shrirang wrote: > Dear clp users, > > > > I have situation where I get one solution for my goal correctly. But on backtracking when there are no more solutions, I get the following call to error_handler and subsequently the program aborts. > > > > error_handler(4, call(_1933), eclipse, eclipse) > > > > What are the possible conditions when I get such a call to error_handler ? > > > > Thanks and Regards, > > Shrirang Edgaonkar > > > > ______________________________________________________________________ > Disclaimer: This email and any attachments are sent in strictest confidence > for the sole use of the addressee and may contain legally privileged, > confidential, and proprietary data. If you are not the intended recipient, > please advise the sender by replying promptly to this email and then delete > and destroy this email and any attachments without any further use, copying > or forwarding. > > > > ------------------------------------------------------------------------------ > > > > _______________________________________________ > ECLiPSe-CLP-Users mailing list > ECL...@li... > https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users > -- Marco Gavanelli Associate Professor Ph.D. in Computer Science Dept of Engineering University of Ferrara Tel/Fax +39-0532-97-4833 http://docente.unife.it/marco.gavanelli ------------------------------------------------------------------------------ _______________________________________________ ECLiPSe-CLP-Users mailing list ECL...@li... https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users ______________________________________________________________________ Disclaimer: This email and any attachments are sent in strictest confidence for the sole use of the addressee and may contain legally privileged, confidential, and proprietary data. If you are not the intended recipient, please advise the sender by replying promptly to this email and then delete and destroy this email and any attachments without any further use, copying or forwarding. |
From: Marco G. <mar...@un...> - 2015-11-27 14:21:53
|
Dear Shrirang, I notice only now that the error you get gives more precise information: it also says what is the predicate that raises the error: call(_1933). This means that your program executes call(X), where X is a variable. You cannot invoke a predicate which is a variable. Hope this helps. Marco On 27/11/15 03:45, Edgaonkar, Shrirang wrote: > Dear clp users, > > > > I have situation where I get one solution for my goal correctly. But on backtracking when there are no more solutions, I get the following call to error_handler and subsequently the program aborts. > > > > error_handler(4, call(_1933), eclipse, eclipse) > > > > What are the possible conditions when I get such a call to error_handler ? > > > > Thanks and Regards, > > Shrirang Edgaonkar > > > > ______________________________________________________________________ > Disclaimer: This email and any attachments are sent in strictest confidence > for the sole use of the addressee and may contain legally privileged, > confidential, and proprietary data. If you are not the intended recipient, > please advise the sender by replying promptly to this email and then delete > and destroy this email and any attachments without any further use, copying > or forwarding. > > > > ------------------------------------------------------------------------------ > > > > _______________________________________________ > ECLiPSe-CLP-Users mailing list > ECL...@li... > https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users > -- Marco Gavanelli Associate Professor Ph.D. in Computer Science Dept of Engineering University of Ferrara Tel/Fax +39-0532-97-4833 http://docente.unife.it/marco.gavanelli |
From: Marco G. <mar...@un...> - 2015-11-27 08:25:52
|
Dear Shrirang, by looking at the list of available predicates: http://eclipseclp.org/doc/bips/fullindex.html and searching the string "error", I found that there is a predicate error_id that provides you the error message. > [eclipse 2]: error_id(4,MGS). > > MGS = "instantiation fault" > Yes (0.00s cpu) this means that ECLiPSe was expecting to get an instantiated value, while it was not (i.e., it was a variable). Example of a program that raises that error on backtracking: goal(X):- member(X,[1,2,3]). goal(X):- N is X+1. > [eclipse 2]: goal(X). > > X = 1 > Yes (0.00s cpu, solution 1, maybe more) ? ; > > X = 2 > Yes (0.00s cpu, solution 2, maybe more) ? ; > > X = 3 > Yes (0.00s cpu, solution 3, maybe more) ? ; > instantiation fault in +(X, 1, _167) > Abort Best, Marco On 27/11/15 03:45, Edgaonkar, Shrirang wrote: > Dear clp users, > > > > I have situation where I get one solution for my goal correctly. But on backtracking when there are no more solutions, I get the following call to error_handler and subsequently the program aborts. > > > > error_handler(4, call(_1933), eclipse, eclipse) > > > > What are the possible conditions when I get such a call to error_handler ? > > > > Thanks and Regards, > > Shrirang Edgaonkar -- Marco Gavanelli Associate Professor Ph.D. in Computer Science Dept of Engineering University of Ferrara Tel/Fax +39-0532-97-4833 http://docente.unife.it/marco.gavanelli |
From: Edgaonkar, S. <Shr...@nt...> - 2015-11-27 03:05:22
|
Dear clp users, I have situation where I get one solution for my goal correctly. But on backtracking when there are no more solutions, I get the following call to error_handler and subsequently the program aborts. error_handler(4, call(_1933), eclipse, eclipse) What are the possible conditions when I get such a call to error_handler ? Thanks and Regards, Shrirang Edgaonkar ______________________________________________________________________ Disclaimer: This email and any attachments are sent in strictest confidence for the sole use of the addressee and may contain legally privileged, confidential, and proprietary data. If you are not the intended recipient, please advise the sender by replying promptly to this email and then delete and destroy this email and any attachments without any further use, copying or forwarding. |
From: Kish S. <kis...@gm...> - 2015-10-23 17:47:52
|
Hi Rana, I cannot really spend the time to look at your whole program in detail. I can only provide help for specific points like why your program might be aborting. For this, I asked you to show your code for the check predicate (I did not expect you to send your whole program), and also to say what you meant exactly by your program aborting -- which you didn't answer. I took a quick look at your check/4 predicate, and it is not clear how it will lead to sharing. It is also unclear to me how it will lead to ECLiPSe aborting, although it might lead to your program failing, is this what happened -- failing is not the same as aborting. I cannot really figure out what the intended meaning of your check/4 is -- it is called with a new variable Event in all the 4 arguments. Event is a free variable at this point, and I suspect this is not what you intended. If you are unfamiliar with Prolog, I strongly suggest that you learn Prolog before attempting to write your application program. Also, you can try to debug your own program using ECLiPSe's debugger/tracer -- did you try this? Cheers, Kish On Thu, Oct 22, 2015 at 10:00 PM, Rana Mohamed <eng...@gm...> wrote: > Thanks for your concern, the whole program is in the attachment it > contains the definition of each agent, where the definitions consist of the > location of the agent, the variable and time at the start and the end of > the location and the knowledge which remains the same at the each location. > also contains how agent evolve, where it evolve continuously at the same > location and discretely when an event fired which make the agent moves from > location to another and also if we have more than one agent has a > synchronized event it makes the knowledge of each agent shared to the other > agents. > the systems works using the *drive* clause which starts with the start > state of each agent, then each agent evolves continuously until an event > fire to cause the discrete step, the system allows only one event at a > time, i've solve the abort problem now the problem is at the process of > knowledge sharing which is done using the *check* clause, using *check* > at *drive* is not done correctly especially with the constraints of one > event at a time and i don't know how to solve it. > > On Wed, Oct 21, 2015 at 1:01 PM, Kish Shen <ki...@ci...> wrote: > >> Hi, >> >> It is difficult to provide any speicifc help to you, as you have not >> really given enough of your program. Most importantly, you have not given >> your code for check/4, the goal that you say is causing ECLiPSe to abort. >> >> Also, what precisely do you mean by ECLiPSe "always gave me abort" -- do >> you mean ECLiPSe raise an error? If so, there should have been an error >> message printed, which will give you some idea of what went wrong, and you >> should include this in your report. >> >> If on the other hand, the ECLiPSe process aborted (i.e. crashed), then >> you should state this clearly, and give any messages that you got when this >> happened. >> >> Cheers, >> >> Kish >> >> On 13/10/2015 09:20, Rana Mohamed wrote: >> >>> I'm working on a constraint logic program, which represents the >>> interaction >>> of 4 agents (hybrid automata) (disturbance, decay, cargo, truck), they >>> interacts in terms of events (synchronized or interleaved) the purpose of >>> interaction is to share their knowledge when there is a synchronized >>> event, >>> each agents has a continuous and discrete behavior during the continuous >>> behavior (at the same state) the knowledge remains the same, during the >>> discrete steps (agent moves from state to another when an event is >>> fired). >>> they update knowledge by adding the shared knowledge (because of the >>> synchronized event) to the previous knowledge of the agent. >>> >>> the implementation is: >>> >>> drive((S1,Y0,Know),(S2,D0,Know1),(S3,X0,Know2),(S4,Z0,Know3), >>> Starttime,Steps,[(S1,S2,S3,S4,Time,Event,D)|R]):- >>> disturbance(S1,[Y0],[Y],Starttime,Ty,Know), >>> decay(S2,[D0],[D],Starttime,Td,Know1), >>> cargo(S3,[X0],[X],Starttime,Tx,Know2), >>> truck(S4, [Z0],[Z],Starttime,Tz,Know3), >>> Ty $=Td, Ty $=Tx, Ty $=Tz,Time $=Ty, >>> >>> % % S1,2,3,4 represents the state of each agent >>> %% D,Y,X,Z is the values at the end and start of state >>> %% starttime is the start time at state, Td,Tx,Tz the end time at each >>> %state >>> % Know is the knowledge at each state. >>> >>> * >>> >>> check((Event,Shared1,Know),(Event,Shared2,Know1),(Event,Shared3,Know2),(Event,Shared4,Know3)), >>> * >>> >>> >>> evolve(disturbance,(S1,Y0,Know),(NextS1,YY0,Knowa),Shared1,Starttime,Ty,Event), >>> >>> >>> evolve(decay,(S2,D0,Know1),(NextS2,DD0,Knowb),Shared2,Starttime,Td,Event), >>> >>> >>> evolve(cargo,(S3,X0,Know2),(NextS3,XX0,Knowc),Shared3,Starttime,TX,Event), >>> >>> evolve(truck,(S4,Z0,Know3),(Next >>> >> >> > > > ------------------------------------------------------------------------------ > > _______________________________________________ > ECLiPSe-CLP-Users mailing list > ECL...@li... > https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users > > |
From: Rana M. <eng...@gm...> - 2015-10-22 21:01:03
|
Thanks for your concern, the whole program is in the attachment it contains the definition of each agent, where the definitions consist of the location of the agent, the variable and time at the start and the end of the location and the knowledge which remains the same at the each location. also contains how agent evolve, where it evolve continuously at the same location and discretely when an event fired which make the agent moves from location to another and also if we have more than one agent has a synchronized event it makes the knowledge of each agent shared to the other agents. the systems works using the *drive* clause which starts with the start state of each agent, then each agent evolves continuously until an event fire to cause the discrete step, the system allows only one event at a time, i've solve the abort problem now the problem is at the process of knowledge sharing which is done using the *check* clause, using *check* at *drive* is not done correctly especially with the constraints of one event at a time and i don't know how to solve it. On Wed, Oct 21, 2015 at 1:01 PM, Kish Shen <ki...@ci...> wrote: > Hi, > > It is difficult to provide any speicifc help to you, as you have not > really given enough of your program. Most importantly, you have not given > your code for check/4, the goal that you say is causing ECLiPSe to abort. > > Also, what precisely do you mean by ECLiPSe "always gave me abort" -- do > you mean ECLiPSe raise an error? If so, there should have been an error > message printed, which will give you some idea of what went wrong, and you > should include this in your report. > > If on the other hand, the ECLiPSe process aborted (i.e. crashed), then you > should state this clearly, and give any messages that you got when this > happened. > > Cheers, > > Kish > > On 13/10/2015 09:20, Rana Mohamed wrote: > >> I'm working on a constraint logic program, which represents the >> interaction >> of 4 agents (hybrid automata) (disturbance, decay, cargo, truck), they >> interacts in terms of events (synchronized or interleaved) the purpose of >> interaction is to share their knowledge when there is a synchronized >> event, >> each agents has a continuous and discrete behavior during the continuous >> behavior (at the same state) the knowledge remains the same, during the >> discrete steps (agent moves from state to another when an event is fired). >> they update knowledge by adding the shared knowledge (because of the >> synchronized event) to the previous knowledge of the agent. >> >> the implementation is: >> >> drive((S1,Y0,Know),(S2,D0,Know1),(S3,X0,Know2),(S4,Z0,Know3), >> Starttime,Steps,[(S1,S2,S3,S4,Time,Event,D)|R]):- >> disturbance(S1,[Y0],[Y],Starttime,Ty,Know), >> decay(S2,[D0],[D],Starttime,Td,Know1), >> cargo(S3,[X0],[X],Starttime,Tx,Know2), >> truck(S4, [Z0],[Z],Starttime,Tz,Know3), >> Ty $=Td, Ty $=Tx, Ty $=Tz,Time $=Ty, >> >> % % S1,2,3,4 represents the state of each agent >> %% D,Y,X,Z is the values at the end and start of state >> %% starttime is the start time at state, Td,Tx,Tz the end time at each >> %state >> % Know is the knowledge at each state. >> >> * >> >> check((Event,Shared1,Know),(Event,Shared2,Know1),(Event,Shared3,Know2),(Event,Shared4,Know3)), >> * >> >> >> evolve(disturbance,(S1,Y0,Know),(NextS1,YY0,Knowa),Shared1,Starttime,Ty,Event), >> >> evolve(decay,(S2,D0,Know1),(NextS2,DD0,Knowb),Shared2,Starttime,Td,Event), >> >> evolve(cargo,(S3,X0,Know2),(NextS3,XX0,Knowc),Shared3,Starttime,TX,Event), >> >> evolve(truck,(S4,Z0,Know3),(Next >> > > |
From: Kish S. <ki...@ci...> - 2015-10-21 20:02:26
|
Hi, It is difficult to provide any speicifc help to you, as you have not really given enough of your program. Most importantly, you have not given your code for check/4, the goal that you say is causing ECLiPSe to abort. Also, what precisely do you mean by ECLiPSe "always gave me abort" -- do you mean ECLiPSe raise an error? If so, there should have been an error message printed, which will give you some idea of what went wrong, and you should include this in your report. If on the other hand, the ECLiPSe process aborted (i.e. crashed), then you should state this clearly, and give any messages that you got when this happened. Cheers, Kish On 13/10/2015 09:20, Rana Mohamed wrote: > I'm working on a constraint logic program, which represents the interaction > of 4 agents (hybrid automata) (disturbance, decay, cargo, truck), they > interacts in terms of events (synchronized or interleaved) the purpose of > interaction is to share their knowledge when there is a synchronized event, > each agents has a continuous and discrete behavior during the continuous > behavior (at the same state) the knowledge remains the same, during the > discrete steps (agent moves from state to another when an event is fired). > they update knowledge by adding the shared knowledge (because of the > synchronized event) to the previous knowledge of the agent. > > the implementation is: > > drive((S1,Y0,Know),(S2,D0,Know1),(S3,X0,Know2),(S4,Z0,Know3), > Starttime,Steps,[(S1,S2,S3,S4,Time,Event,D)|R]):- > disturbance(S1,[Y0],[Y],Starttime,Ty,Know), > decay(S2,[D0],[D],Starttime,Td,Know1), > cargo(S3,[X0],[X],Starttime,Tx,Know2), > truck(S4, [Z0],[Z],Starttime,Tz,Know3), > Ty $=Td, Ty $=Tx, Ty $=Tz,Time $=Ty, > > % % S1,2,3,4 represents the state of each agent > %% D,Y,X,Z is the values at the end and start of state > %% starttime is the start time at state, Td,Tx,Tz the end time at each > %state > % Know is the knowledge at each state. > > * > check((Event,Shared1,Know),(Event,Shared2,Know1),(Event,Shared3,Know2),(Event,Shared4,Know3)), > * > > evolve(disturbance,(S1,Y0,Know),(NextS1,YY0,Knowa),Shared1,Starttime,Ty,Event), > > evolve(decay,(S2,D0,Know1),(NextS2,DD0,Knowb),Shared2,Starttime,Td,Event), > > evolve(cargo,(S3,X0,Know2),(NextS3,XX0,Knowc),Shared3,Starttime,TX,Event), > > evolve(truck,(S4,Z0,Know3),(Next |
From: Kish S. <ki...@ci...> - 2015-10-21 19:18:50
|
Hi Shrirang, On 21/10/2015 06:09, Edgaonkar, Shrirang wrote: > Dear clp users, > > > > I have been using session_sql_query for the database interface all this while without any issues. But now I wish to use session_sql_prepare_query instead. Following code makes TkEclipse to crash. For security reasons, I have changed the details but following is a basic implementation of the API. Your included picture of the TkECLipSe pop-up window with the crash is not particularly useful, as it does not give any more information than saying ECLiPSe crashed. It would be helpful if you can report which particular goal caused ECLiPSe to crash (I assume it is either session_sql_prepare_query or cursor_all_tuples), and any messages that might be printed by ECLiPSe -- in many cases, you can't see these with TkECLiPSe, so run your program using TTY (the command line) ECLiPSe instead. I am not able to reproduce a crash running ECLiPSe on Linux (that the only platform where we have a MySQL server running). [I used my own code. If you want your code to be tested, please include all code needed to reproduce the error, including code that create the table and fields] However, the code you show is incorrect: > > > > :-lib(dbi). > > solve(Result_db001):- > > % Connect to DB user/password > session_start("rsuser1"@"sim-blahblah<mailto:"rsuser1"@"sim-blahblah>", "blahblah", [dbname:"blahblah"], Session), > > % SQL > SQL = "SELECT * FROM DummyTableName WHERE goodsname = ? ", > > % Template > DummyTableName = dummyTableName("AA", "AA", 10, "AA", 10, 10, "AA", "AA", 10), > > INPUT = input("laptop"), > > writeln(INPUT), > > % Execute SQL > session_sql_prepare_query(Session, INPUT, DummyTableName, SQL, Cursor), > session_sql_prepare_query does NOT execute the SQL as your comment suggest. Instead, it "prepares" a prepared SQL query, which then needs to be executed, using, e.g. cursor_next_ececute -- this is described in the manual. However, there is a bug in session_sql_prepare_query that I found while trying to reproduce your error, in which the predicate incorrectly aborts if the results template contain string fields. > % Get Results > cursor_all_tuples(Cursor, Result_db001), > Calling cursor_all_tuples without cursor_next_execute should also result in an ECLiPSe error, and not the crashing of ECLiPSe. Cheers, Kish > % Close Cursor > cursor_close(Cursor). > > > > > > I am using the version as mentioned in the attachement. > > > > > > Regards, > > Shrirang Edgaonkar > > > > > > ______________________________________________________________________ > Disclaimer: This email and any attachments are sent in strictest confidence > for the sole use of the addressee and may contain legally privileged, > confidential, and proprietary data. If you are not the intended recipient, > please advise the sender by replying promptly to this email and then delete > and destroy this email and any attachments without any further use, copying > or forwarding. > > > > ------------------------------------------------------------------------------ > > > > _______________________________________________ > ECLiPSe-CLP-Users mailing list > ECL...@li... > https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users > |
From: Edgaonkar, S. <Shr...@nt...> - 2015-10-21 05:29:23
|
Dear clp users, I have been using session_sql_query for the database interface all this while without any issues. But now I wish to use session_sql_prepare_query instead. Following code makes TkEclipse to crash. For security reasons, I have changed the details but following is a basic implementation of the API. :-lib(dbi). solve(Result_db001):- % Connect to DB user/password session_start("rsuser1"@"sim-blahblah<mailto:"rsuser1"@"sim-blahblah>", "blahblah", [dbname:"blahblah"], Session), % SQL SQL = "SELECT * FROM DummyTableName WHERE goodsname = ? ", % Template DummyTableName = dummyTableName("AA", "AA", 10, "AA", 10, 10, "AA", "AA", 10), INPUT = input("laptop"), writeln(INPUT), % Execute SQL session_sql_prepare_query(Session, INPUT, DummyTableName, SQL, Cursor), % Get Results cursor_all_tuples(Cursor, Result_db001), % Close Cursor cursor_close(Cursor). I am using the version as mentioned in the attachement. Regards, Shrirang Edgaonkar ______________________________________________________________________ Disclaimer: This email and any attachments are sent in strictest confidence for the sole use of the addressee and may contain legally privileged, confidential, and proprietary data. If you are not the intended recipient, please advise the sender by replying promptly to this email and then delete and destroy this email and any attachments without any further use, copying or forwarding. |
From: Rana M. <eng...@gm...> - 2015-10-13 08:20:32
|
I'm working on a constraint logic program, which represents the interaction of 4 agents (hybrid automata) (disturbance, decay, cargo, truck), they interacts in terms of events (synchronized or interleaved) the purpose of interaction is to share their knowledge when there is a synchronized event, each agents has a continuous and discrete behavior during the continuous behavior (at the same state) the knowledge remains the same, during the discrete steps (agent moves from state to another when an event is fired). they update knowledge by adding the shared knowledge (because of the synchronized event) to the previous knowledge of the agent. the implementation is: drive((S1,Y0,Know),(S2,D0,Know1),(S3,X0,Know2),(S4,Z0,Know3), Starttime,Steps,[(S1,S2,S3,S4,Time,Event,D)|R]):- disturbance(S1,[Y0],[Y],Starttime,Ty,Know), decay(S2,[D0],[D],Starttime,Td,Know1), cargo(S3,[X0],[X],Starttime,Tx,Know2), truck(S4, [Z0],[Z],Starttime,Tz,Know3), Ty $=Td, Ty $=Tx, Ty $=Tz,Time $=Ty, % % S1,2,3,4 represents the state of each agent %% D,Y,X,Z is the values at the end and start of state %% starttime is the start time at state, Td,Tx,Tz the end time at each %state % Know is the knowledge at each state. * check((Event,Shared1,Know),(Event,Shared2,Know1),(Event,Shared3,Know2),(Event,Shared4,Know3)), * evolve(disturbance,(S1,Y0,Know),(NextS1,YY0,Knowa),Shared1,Starttime,Ty,Event), evolve(decay,(S2,D0,Know1),(NextS2,DD0,Knowb),Shared2,Starttime,Td,Event), evolve(cargo,(S3,X0,Know2),(NextS3,XX0,Knowc),Shared3,Starttime,TX,Event), evolve(truck,(S4,Z0,Know3),(NextS4,ZZ0,Knowd),Shared4,Starttime,Tz,Event), %evolve represents the continuous and discrete behavior %Event is the fired event, only one event happens at a time get_bounds(Time,_,Newstarttime), write("time interval"),writeln(Time), write(S1),write(" : "),write(S2),write(" : "), write(S3),write(" : "), writeln(S4), write(Y),write(" : "),write(D),write(" : "),write(X),write(" : "), writeln(Z), write(Know),write(" : "),write(Know1),write(" : "),write(Know2),write(" : "), writeln(Know3), write("Event :"),writeln(Event), write("Timex = "), writeln(Tx), writeln("-----------"), Steps > 0,Steps1 is Steps -1, drive((NextS1,YY0,Knowa),(NextS2,DD0,Knowb),(NextS3,XX0,Knowc),(NextS4,ZZ0,Knowd),Newstarttime,Steps1,R) . i have a problem with the * check((Event,Shared1,Know),(Event,Shared2,Know1),(Event,Shared3,Know2),(Event,Shared4,Know3)), * i was trying to say if events are the same then share the knowledge but eclipse always gave me abort * and when i remove "check" the program works correctly but without sharing the knowledgecheck((Event1,Shared1,KY),(Event2,Shared2,KD),(Event3,Shared3,KX),(Event4,Shared4,KZ)):-Event1 =:= Event2,Event2 =:= Event3,Shared1 &= Shared2, Shared1 &= Shared3, conc(KY,KD,N1),conc(N1,KX,N2),Shared1 &=N2.check((Event1,Shared1,KY),(Event2,Shared2,KD),(Event3,Shared3,KX),(Event4,Shared4,KZ)):-Event1 =:= Event2,Event2 =:= Event4,Shared1 &= Shared2, Shared1 &= Shared3,conc(KY,KD,N1),conc(N1,KZ,N2),Shared1&=N2.check((Event1,Shared1,KY),(Event2,Shared2,KD),(Event3,Shared3,KX),(Event4,Shared4,KZ)):-Event2 =:= Event3,Event2 =:= Event4,Shared2 &= Shared3, Shared2 &= Shared4,conc(KD,KX,N1),conc(N1,KZ,N2),Shared2 &=N2.* *any help please* |
From: Rana M. <eng...@gm...> - 2015-10-13 07:43:18
|
eng...@gm... |
From: Rana M. <eng...@gm...> - 2015-10-13 07:41:18
|
eng,ra...@gm... |
From: Joachim S. <jsc...@co...> - 2015-10-07 13:42:33
|
On 06/10/2015 13:48, Gökhan Solak wrote: > Thank you for your answer. > > Moving from your suggestion, I came up with a solution. > > What I wanted to do was to give an initial domain to the variables, according to their role as an > argument in some predicates. If you want to say something general about an argument of a predicate, e.g. about the second argument of age(_,_), then you have to say it *inside* the definition of age: age(Thing, Age) :- ... Age :: ... > > To do this task I created a new predicate *init_domain/1*. And defined the init_domain with > predicate-domain pairs as such: > > init_domain(X) :- age(_A, X), human(_A), X :: 1..130. > init_domain(X) :- age(_, X), integers(X). > init_domain(X) :- height(_A, X), human(_A), X :: 30..230. > ... > > For every such predicate-domain pair, definition of init_domain should be extended. This way, when > init_domain is called for every variable in the system, they will automatically be constrained with > appropriate initial domains. No, you fundamentally misunderstand something here. init_domain has only one argument, and will have the same effect on any variable you call it with. Your misconception seems to lie with the scope of variables and the way resolution works (http://www.eclipseclp.org/doc/tutorial/tutorial017.html). It might help to run again through some introductory text and/or to look in detail at some of the code examples in the tutorial and on the web site. Cheers, -- Joachim |
From: Gökhan S. <so...@it...> - 2015-10-06 12:49:29
|
Thank you for your answer. Moving from your suggestion, I came up with a solution. What I wanted to do was to give an initial domain to the variables, according to their role as an argument in some predicates. To do this task I created a new predicate *init_domain/1*. And defined the init_domain with predicate-domain pairs as such: init_domain(X) :- age(_A, X), human(_A), X :: 1..130. init_domain(X) :- age(_, X), integers(X). init_domain(X) :- height(_A, X), human(_A), X :: 30..230. ... For every such predicate-domain pair, definition of init_domain should be extended. This way, when init_domain is called for every variable in the system, they will automatically be constrained with appropriate initial domains. Note: In first post I was using integer/1 built-in predicate but in the final solution I used integers/1 from ic library. Regards, Gökhan Solak 2015-10-03 0:49 GMT+03:00 Joachim Schimpf <jsc...@co...>: > On 02/10/15 14:48, Gökhan Solak wrote: > > Hello, > > > > First of all, I would like to inform that I'm a novice in Prolog. > > > > What I want to do is to imply predefined domains for the variables which > takes > > part in arguments of certain predicates. > > > > For example, for the custom predicate *age( A, X)*, which means in my > model > > /"age of the object A is X"/, it follows that X is an integer. Moreover > if A is > > a human, domain of X is [1,130] (broadly speaking). > > > > In predicate logic with constraints, I think this can be defined by the > > following clauses: > > age(A, X) -> integer(X). > > age(A, X) and human(A) -> X € [1,130]. > > > > I translated this into Prolog program as: > > integer(X) :- age( _, X). > > X :: 1..130 :- age( _A, X), human( _A). > > > > age/2 and human/1 are defined in the same file. lib(ic) is imported. > > > You should probably start with some further reading on Prolog, in > particular > the differences between a predicate definition and a goal/query. What you > write on the left hand side of :- is what you *define*. When you write > > integer(X) :- age( _, X). > > you are defining a predicate integer/1 by saying that for every X, if X is > an age, then it is an integer. While this statement may be true, it is is > certainly not the definition of what an integer is. And of course the > system already knows what an integer is, you don't need to define that. > > > It is not completely clear to me what you want to achieve, but you may > try to define database-style predicates like the following: > > lifespan(human, Age) :- Age :: 0..130. > lifespan(mouse, Age) :- Age :: 0..4. > lifespan(tortoise, Age) :- Age :: 0..200. > > type(fred, human). > type(wilma, human). > type(toto, tortoise). > type(charlie, mouse). > > then you can ask queries like > > ?- X = charlie, type(X, T), lifespan(T, A). > X = charlie > T = mouse > A = A{0 .. 4} > Yes (0.00s cpu) > > > Cheers, > Joachim > > > ------------------------------------------------------------------------------ > _______________________________________________ > ECLiPSe-CLP-Users mailing list > ECL...@li... > https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users > |
From: Gökhan S. <gkn...@gm...> - 2015-10-06 12:34:14
|
Thank you for your answer. Moving from your suggestion, I came up with a solution. What I wanted to do was to give an initial domain to the variables, according to their role as an argument in some predicates. To do this task I created a new predicate *init_domain/1*. And defined the init_domain with predicate-domain pairs as such: init_domain(X) :- age(_A, X), human(_A), X :: 1..130. init_domain(X) :- age(_, X), integers(X). init_domain(X) :- height(_A, X), human(_A), X :: 30..230. ... For every such predicate-domain pair, definition of init_domain should be extended. This way, When init_domain is called for every variable in the system, they will automatically be constrained with appropriate initial domains. Note: In first post I was using integer/1 built-in predicate but in the final solution I used integers/1 from ic library. Regards, Gökhan Solak 2015-10-03 0:49 GMT+03:00 Joachim Schimpf <jsc...@co...>: > On 02/10/15 14:48, Gökhan Solak wrote: > > Hello, > > > > First of all, I would like to inform that I'm a novice in Prolog. > > > > What I want to do is to imply predefined domains for the variables which > takes > > part in arguments of certain predicates. > > > > For example, for the custom predicate *age( A, X)*, which means in my > model > > /"age of the object A is X"/, it follows that X is an integer. Moreover > if A is > > a human, domain of X is [1,130] (broadly speaking). > > > > In predicate logic with constraints, I think this can be defined by the > > following clauses: > > age(A, X) -> integer(X). > > age(A, X) and human(A) -> X € [1,130]. > > > > I translated this into Prolog program as: > > integer(X) :- age( _, X). > > X :: 1..130 :- age( _A, X), human( _A). > > > > age/2 and human/1 are defined in the same file. lib(ic) is imported. > > > You should probably start with some further reading on Prolog, in > particular > the differences between a predicate definition and a goal/query. What you > write on the left hand side of :- is what you *define*. When you write > > integer(X) :- age( _, X). > > you are defining a predicate integer/1 by saying that for every X, if X is > an age, then it is an integer. While this statement may be true, it is is > certainly not the definition of what an integer is. And of course the > system already knows what an integer is, you don't need to define that. > > > It is not completely clear to me what you want to achieve, but you may > try to define database-style predicates like the following: > > lifespan(human, Age) :- Age :: 0..130. > lifespan(mouse, Age) :- Age :: 0..4. > lifespan(tortoise, Age) :- Age :: 0..200. > > type(fred, human). > type(wilma, human). > type(toto, tortoise). > type(charlie, mouse). > > then you can ask queries like > > ?- X = charlie, type(X, T), lifespan(T, A). > X = charlie > T = mouse > A = A{0 .. 4} > Yes (0.00s cpu) > > > Cheers, > Joachim > > > ------------------------------------------------------------------------------ > _______________________________________________ > ECLiPSe-CLP-Users mailing list > ECL...@li... > https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users > |
From: Joachim S. <jsc...@co...> - 2015-10-02 21:50:11
|
On 02/10/15 14:48, Gökhan Solak wrote: > Hello, > > First of all, I would like to inform that I'm a novice in Prolog. > > What I want to do is to imply predefined domains for the variables which takes > part in arguments of certain predicates. > > For example, for the custom predicate *age( A, X)*, which means in my model > /"age of the object A is X"/, it follows that X is an integer. Moreover if A is > a human, domain of X is [1,130] (broadly speaking). > > In predicate logic with constraints, I think this can be defined by the > following clauses: > age(A, X) -> integer(X). > age(A, X) and human(A) -> X € [1,130]. > > I translated this into Prolog program as: > integer(X) :- age( _, X). > X :: 1..130 :- age( _A, X), human( _A). > > age/2 and human/1 are defined in the same file. lib(ic) is imported. You should probably start with some further reading on Prolog, in particular the differences between a predicate definition and a goal/query. What you write on the left hand side of :- is what you *define*. When you write integer(X) :- age( _, X). you are defining a predicate integer/1 by saying that for every X, if X is an age, then it is an integer. While this statement may be true, it is is certainly not the definition of what an integer is. And of course the system already knows what an integer is, you don't need to define that. It is not completely clear to me what you want to achieve, but you may try to define database-style predicates like the following: lifespan(human, Age) :- Age :: 0..130. lifespan(mouse, Age) :- Age :: 0..4. lifespan(tortoise, Age) :- Age :: 0..200. type(fred, human). type(wilma, human). type(toto, tortoise). type(charlie, mouse). then you can ask queries like ?- X = charlie, type(X, T), lifespan(T, A). X = charlie T = mouse A = A{0 .. 4} Yes (0.00s cpu) Cheers, Joachim |
From: Joachim S. <jsc...@co...> - 2015-10-02 21:18:34
|
You are on the wrong mailing list, please go to http://www.eclipse.org/forums/ On 02/10/15 19:57, Raad wrote: > Hi, > > I tried to install ARM GNU on Eclipse > > The recommended way to install these plug-ins is to use the Eclipse standard > install/update mechanism: In the /Eclipse/ menu: *Help* → *Install New Software...* > > * in the /Install/ window, click the *Add...* button (on future updates, just > select the URL in the *Work with:* combo) > * fill in /Name:/ with *GNU ARM Eclipse Plug-ins* > * fill in /Location:/ with *http://gnuarmeclipse.sourceforge.net/updates* > * click the *OK* button > > I got this: > > > Cannot complete the install because one or more required items could not be found. > Software being installed: GNU ARM C/C++ Packs (Experimental) > 2.2.2.201508190739 (ilg.gnuarmeclipse.packs.feature.group 2.2.2.201508190739) > > Then I tried this : > > f, for any reason, you need to install a specific version of the plug-in, the > solution is to download the archive from SourceForge Files > <http://sourceforge.net/projects/gnuarmeclipse/files/Current%20Releases/> and to > point the Eclipse update mechanism to the local archive: In the* Eclipse/ menu: > //Help// → //Install New Software.../* > > ilg.gnuarmeclipse.repository-2.9.3-201508190739.zip! > > * in the /Install/ window, click the *Add...* button > * in the /Add Repository/ window, click the *Archive...* button * in the > /Repository archive/ window, select the downloaded .zip archive * click the > *OK* button > * click the OK button > > It failed again; > > Anyone has installed ARM GNU in Eclipse ? > > I am using Eclipse 3.8.1 > > Raad > > > ------------------------------------------------------------------------------ > > > > _______________________________________________ > ECLiPSe-CLP-Users mailing list > ECL...@li... > https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users > |
From: Raad <int...@gm...> - 2015-10-02 18:57:23
|
Hi, I tried to install ARM GNU on Eclipse The recommended way to install these plug-ins is to use the Eclipse standard install/update mechanism: In the *Eclipse* menu: *Help* → *Install New Software...* - in the *Install* window, click the *Add...* button (on future updates, just select the URL in the *Work with:* combo) - fill in *Name:* with *GNU ARM Eclipse Plug-ins* - fill in *Location:* with *http://gnuarmeclipse.sourceforge.net/updates <http://gnuarmeclipse.sourceforge.net/updates>* - click the *OK* button I got this: Cannot complete the install because one or more required items could not be found. Software being installed: GNU ARM C/C++ Packs (Experimental) 2.2.2.201508190739 (ilg.gnuarmeclipse.packs.feature.group 2.2.2.201508190739) Then I tried this : f, for any reason, you need to install a specific version of the plug-in, the solution is to download the archive from SourceForge Files <http://sourceforge.net/projects/gnuarmeclipse/files/Current%20Releases/> and to point the Eclipse update mechanism to the local archive: In the* Eclipse * menu: **Help** → **Install New Software...** ilg.gnuarmeclipse.repository-2.9.3-201508190739.zip! - in the *Install* window, click the *Add...* button - in the *Add Repository* window, click the *Archive...* button * in the *Repository archive* window, select the downloaded .zip archive * click the *OK* button - click the OK button It failed again; Anyone has installed ARM GNU in Eclipse ? I am using Eclipse 3.8.1 Raad |
From: Gökhan S. <so...@it...> - 2015-10-02 13:49:09
|
Hello, First of all, I would like to inform that I'm a novice in Prolog. What I want to do is to imply predefined domains for the variables which takes part in arguments of certain predicates. For example, for the custom predicate *age( A, X)*, which means in my model *"age of the object A is X"*, it follows that X is an integer. Moreover if A is a human, domain of X is [1,130] (broadly speaking). In predicate logic with constraints, I think this can be defined by the following clauses: age(A, X) -> integer(X). age(A, X) and human(A) -> X € [1,130]. I translated this into Prolog program as: integer(X) :- age( _, X). X :: 1..130 :- age( _A, X), human( _A). age/2 and human/1 are defined in the same file. lib(ic) is imported. When I compile the module I get a warning and an error as follows: WARNING: Hiding imported predicate ::/2 from module ic_constraints in module cilp_bk (use local/1) *** trying to redefine a built-in predicate: integer / 1 I can understand that redefining predicates may not be safe. But I can't think of another way to define this concept with my Prolog knowledge. Is there a way I can do it? Thanks in advance, Gökhan Solak |
From: Marco G. <mar...@un...> - 2015-09-12 08:31:36
|
* NEWS: Extended deadlines and Best PADL 2016 papers at TPLP rapid publications * Due to the many requests, the deadlines have been extended: - Abstract submission: September 18, 2015 - Paper submission: September 27, 2015 Up to two of the best papers accepted for publication at PADL will be invited to submit an extended version for rapid publication on the journal Theory and Practice of Logic Programming (see below). Call for Papers =============== 18th International Symposium on Practical Aspects of Declarative Languages (PADL 2016) http://conf.researchr.org/home/PADL-2016 St. Petersburg, Florida, United States Mon 18 - Tue 19 January 2016 Co-located with ACM POPL 2016 Conference Description ====================== Declarative languages build on sound theoretical bases to provide attractive frameworks for application development. These languages have been successfully applied to many different real-world situations, ranging from data base management to active networks to software engineering to decision support systems. New developments in theory and implementation have opened up new application areas. At the same time, applications of declarative languages to novel problems raise numerous interesting research issues. Well-known questions include designing for scalability, language extensions for application deployment, and programming environments. Thus, applications drive the progress in the theory and implementation of declarative systems, and benefit from this progress as well. PADL is a forum for researchers and practitioners to present original work emphasizing novel applications and implementation techniques for all forms of declarative concepts, including, functional, logic, constraints, etc. Topics of interest include, but are not limited to: * Innovative applications of declarative languages * Declarative domain-specific languages and applications * Practical applications of theoretical results * New language developments and their impact on applications * Declarative languages and software engineering * Evaluation of implementation techniques on practical applications * Practical experiences and industrial applications * Novel uses of declarative languages in the classroom * Practical extensions such as constraint-based, probabilistic, and reactive languages. PADL 2016 welcomes new ideas and approaches pertaining to applications and implementation of declarative languages. PADL 2016 will be co-located with the Symposium on Principles of Programming Languages (POPL 2016), in St. Petersburg, Florida (USA). Important Dates and Submission Guidelines ========================================= Abstract submission: September 18, 2015 Paper submission: September 27, 2015 Notification: October 21, 2015 Camera-ready: November 10, 2015 Symposium: January 18-19, 2016 Authors should submit an electronic copy of the full paper in PDF using the Springer LNCS format. The submission will be done through EasyChair conference system: https://easychair.org/conferences/?conf=padl2016 All submissions must be original work written in English. Submissions must be unpublished and not submitted for publication elsewhere. Work that already appeared in unpublished or informally published workshops proceedings may be submitted but the authors should notify the program chair about the place on which it has previously appeared. PADL 2016 will accept both technical and application papers: * Technical papers must describe original, previously unpublished research results. Technical papers must not exceed 15 pages (plus one page of references) in Springer LNCS format. * Application papers are a mechanism to present important practical applications of declarative languages that occur in industry or in areas of research other than Computer Science. Application papers are expected to describe complex and/or real-world applications that rely on an innovative use of declarative languages. Application descriptions, engineering solutions and real-world experiences (both positive and negative) are solicited. The limit for application papers is 8 pages in Springer LNCS format but such papers can also point to sites with supplemental information about the application or the system that they describe. The proceedings of PADL 2016 will appear in the LNCS series of Springer Verlag. Up to two best papers accepted for publication at PADL'16 will be invited to submit an extended version to the journal "Theory and Practice of Logic Programming" for rapid publication. The extended version should contain at least 30% new content compared to the published conference paper. In the case of rapid publications the extra material should consist of extensions of the existing material, such as proofs, further experimental results, implementation details and such like. Papers containing substantial revision and new results compared to the conference paper should be submitted as regular articles as normal. Authors invited to submit a rapid publication should confirm that such extra material is available. Program Committee ================= - Mario Alviano, University of Calabria (Italy) - Lars Bergstrom, Mozilla Research (USA) - Edwin Brady, University of St Andrews (UK) - Mats Carlsson, SICS (Sweden) - Manuel Carro, Technical University of Madrid (UPM) and IMDEA Software Institute (Spain) - Thomas Eiter, Vienna University of Technology (Austria) - Thom Fruehwirth, University of Ulm (Germany) - Marco Gavanelli, University of Ferrara (Italy) - Geoffrey Mainland, Drexel University (USA) - Enrico Pontelli, New Mexico State University (USA) - John Reppy, University of Chicago (USA) - Ricardo Rocha, University of Porto (Portugal) - Torsten Schaub, University of Potsdam (Germany) - Tom Schrijvers, KU Leuven (Belgium) - Paul Tarau, University of North Texas (USA) - Niki Vazou, Univesrity of California, San Diego (USA) - Dimitrios Vytiniotis, Microsoft Research - Daniel Winograd-Cort, Yale University (USA) - Neng-Fa Zhou, CUNY Brooklyn College and Graduate Center (USA) - Lukasz Ziarek, SUNY Buffalo (USA) Contacts ======== For additional information about papers and submissions, please contact the Program Chairs: Marco Gavanelli and John Reppy University of Ferrara University of Chicago Italy USA http://docente.unife.it/marco.gavanelli http://people.cs.uchicago.edu/~jhr email: pad...@ea... |