Re: Help with JPL

Carlo Capelli <[email protected]>
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <CABty9wxh407P=u9kDucWYov1H59NaooJLbv+vRdHHbBE9U1_7Q@mail.gmail.com>
2013/11/20 Brody, Justin <[email protected]>

> Nevermind -- I think I figured it out.  Thanks so much!
>
>
Well done.

But I wonder if I'm the only unable to find any high level documentation...
I had to browse packages sources, open
/home/carlo/pl-devel/packages/jpl/docs/index.html, 'read' some pages,
before to find that there is no explanation of

Term termArrayToList(Term t[])

It appears (as undocumented) searching 'jpl' or 'java' in web docs...

It's this one you used ?

________________________________________
> From: swi-prolog-bounces+justin.brody=goucher.edu@lists.iai.uni-bonn.de[swi-prolog-bounces+justin.brody=
> [email protected]] on behalf of Brody, Justin [
> [email protected]]
> Sent: Wednesday, November 20, 2013 6:44 AM
> To: Carlo Capelli
> Cc: [email protected]
> Subject: Re: [SWIPL] Help with JPL
>
> That makes sense.  Sadly, I'm not sure how to do that -- would this need
> the "primitive" level of the API?
>
> Thanks for your help!
> ________________________________
> From: Carlo Capelli [[email protected]]
> Sent: Wednesday, November 20, 2013 5:52 AM
> To: Brody, Justin
> Cc: [email protected]
> Subject: Re: [SWIPL] Help with JPL
>
> I think this isn't what you need
>
> new Atom("[two, hearts]")
>
> you should build a list with 2 atoms instead
>
> bye Carlo
>
>
> 2013/11/20 Brody, Justin <[email protected]<mailto:
> [email protected]>>
> Hello!
>
> I've been having trouble constructing JPL queries and was hoping for some
> guidance.  I have a predicate in my Prolog KB that takes two cards (each
> card is a list of size 2) and says whether or not they form a pair.
>
> Some examples:
> ?- one_pair([ace, hearts], [ace, clubs]).
> true.
>
> ?- one_pair([ace, hearts], Y).
> Y = [ace, clubs] ;
> Y = [ace, diamonds] ;
> Y = [ace, hearts] ;
> Y = [ace, spades].
>
> It is the enumeration I'm really trying to access.  Here's my code
>
>     Variable Z = new Variable("Z");
>     Query s = new Query ( new Compound("one_pair", new Term[] { new
> Atom("[two, hearts]"), Z }));
>     System.out.println(  "here");
>     while ( s.hasMoreSolutions() ) {
>         System.out.println(  "now here...");
>         java.util.Hashtable sol3 = s.nextSolution();
>         System.out.println(  sol3.get("Z"));
>     }
>
>
>     Variable X = new Variable();
>     Query q = new Query ( new Compound("valid_face", new Term[] { new
> Variable("X") }));
>     while ( q.hasMoreSolutions() ) {
>         java.util.Hashtable sol = q.nextSolution();
>         System.out.println(  sol.get("X"));
>     }
>
> The second part is testing a simple predicate that lists valid faces and
> is included because it seems to be working.  The first part, which I want
> to return the possible completions, isn't working.  Here's the output:
>
> here
> 2
> 3
> 4
> 5
> 6
> 7
> 8
> 9
> 10
> jack
> queen
> king
> ace
> Any insights would be appreciated!  If I can get this working I also have
> a more general question (ideally I'd like to be able to use my original
> version of one_pair, which takes an arbitrary sized list.  For example,
> ?- one_pair([ [2, hearts], [3, clubs], X, Y]).
> X = Y, Y = [2, clubs] ;
> X = [2, clubs],
> Y = [2, diamonds] ;
> X = [2, clubs],
> Y = [2, hearts] ;
> X = [2, clubs],
> Y = [2, spades] .
> )
> But I can work with the n-ary predicate versions I discussed if need be.
>
> Thanks in advance!
>
> -Justin
> _______________________________________________
> SWI-Prolog mailing list
> [email protected]<mailto:[email protected]>
> https://lists.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog
>
> _______________________________________________
> SWI-Prolog mailing list
> [email protected]
> https://lists.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog
>
>
-------------- next part --------------
HTML attachment scrubbed and removed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.