>If it does not work it is not because the >programming language or because
>some arbitrary, arcane rules you will >never understand. If PicoLisp does
not >do what you want it is because "You are >to dumb

Yeah, it can be very frustrating. But I like it in the long run. Since it
is so simple, it is easy to understand, and once you get it you rarely make
the same mistake again.

And that's something I like about this community. Even if I am too dumb to
get it, there is someone else smart enough to guide me the correct way : )

Thanks again!

On Mon, Jul 2, 2018, 00:14 Johann-Tobias Schäg <[email protected]> wrote:

>
> That is the horrible thing about PicoLisp. If it does not work it is not
> because the programming language or not because some arbitrary, arcane
> rules you will never understand. If PicoLisp does not do what you want it
> is because "You are to dumb to understand a simple system of simple rules"
> or something like that. This can be very insulting if you take it too
> personal.
>
> But on the other side of the coin, you wouldn't wanna miss such stark
> direct feedback as a NIL. Sometimes it is just what you deserve and need.
> *Von:* [email protected]
> *Gesendet:* 2. Juli 2018 5:46 vorm.
> *An:* [email protected]
> *Antworten:* [email protected]
> *Betreff:* Re: A query in Pilog
>
> OH, I just realized how!
>
> (? (loves Mark @X) (woman @X))
>
> It seems obvious in hindsight XD
>
> On Sun, Jul 1, 2018 at 10:37 PM Bruno Franco <[email protected]>
> wrote:
>
>> Yeah! that is exactly right!
>>
>> All this time I had tried to use the "?" function like this:
>> (? ((loves Mark @X) (woman @X)))
>> But it returned NIL.
>>
>> So, when you search for a variable that can satisfy more than one
>> predicate,
>> you make a list of predicates (call it PList) and pass it as argument to
>> (prove (goal PList)).
>>
>> Is there a way to do that using only the "?" function, or must it always
>> be wrapped by the (prove (goal )) combo?
>>
>>
>> On Sun, Jul 1, 2018 at 6:05 PM Johann-Tobias Schäg <johtobsch@gmailcom>
>> wrote:
>>
>>> I've got it working the following way. It is very inelegant but it shows
>>> the idea.
>>>
>>>  (be woman (Ann))
>>> #-> woman
>>> (prove (goal (woman @X))) # wrong
>>> #!? (woman @X)
>>> #woman -- Undefined
>>> (prove (goal '((woman @X)))) #quoted list can contain multiple statements
>>> #-> ((@X . Ann))
>>> (be loves (Mark Ann))
>>> #-> loves
>>> (be loves (Mark Max))
>>> #-> loves
>>> (prove (goal '((loves Mark @X) (woman @X)))) #as is seen here
>>> #-> ((@X . Ann))
>>>
>>> does that help?
>>>
>>> *Von:* brunofrancosalamin@gmailcom <[email protected]>
>>> *Gesendet:* 1. Juli 2018 11:49 nachm.
>>> *An:* [email protected]
>>> *Antworten:* [email protected]
>>> *Betreff:* A query in Pilog
>>>
>>> I'm going through the "Learn Prolog Now!" ebook and I ran into this
>>> query:
>>>
>>> ?- loves(marsellus,X), woman(X).
>>>
>>> And I can't figure out how to do it in pilog.
>>> Is there a function that can test multiple queries at once, like or/2
>>> does?
>>>
>>> thanks
>>>
>>

Reply via email to