It is Friday. Apparently, I need to go home now :)

I think Katz, Ed wrote:
[Charset iso-8859-1 unsupported, filtering to ASCII...]
> With great trepidation I toss this into the "dueling typos" exchange.
> 
> Both of my implementations of 5.1 and 6.0a3 hiccuped on your 
> example.  Could you clarify why your example should work?  
> Has something changed with deffacts in 6.0a5+ ?   Here is my 
> example which does work on both of my implementations:
> 
> (defglobal ?*foo* = 1)
> (deftemplate foo (slot bar))
> (defrule foo
>  (foo (bar ?x&:(eq ?x ?*foo*)))
> =>
>  ( printout t " Rule foo fired with (bar " ?x ")" crlf )
> ) 
> (deffacts foo (foo (bar 1)) (foo (bar 2)) (foo (bar 3)))     
> (watch all)
> (reset)
> (run)
> 
> 
> Thanks,
> 
> -Ed Katz
> 
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]
> Sent: Friday, March 16, 2001 8:43 AM
> To: Willie Wheeler
> Cc: [EMAIL PROTECTED]
> Subject: Re: JESS: Matching globals
> 
> 
> 
> We seem to be playing "dueling typos." The missing question marks in
> my mail were a single typo, multiplied by cut and paste. In your rule
> below, you're got the &:(eq... outside the parens for the path slot --
> Jess oughtn't to have parsed this, but again, I don't know if you just
> made an email typo. In any case, here's a complete working example,
> cut-and-pasted from an actual session this time.
> 
> (defglobal ?*foo* = 1)
> (deftemplate foo (slot bar))
> (defrule foo
>  (foo (bar ?x&:(eq ?x ?*foo*)))
> =>
> ) 
> (deffacts foo (foo 1) (foo 2) (foo 3))     
> (reset)
> (watch all)
> (run)
> 
> The rule foo fires once for Fact-1.
> 
> I think Willie Wheeler wrote:
> > Hi Ernest,
> > 
> >     Thanks very much for your response.  I tried what you gave, and I
> > couldn't get the match to happen.  (I noticed that the left hand argument
> > to eq doesn't have a question mark--I tried it without and with.)
> >     Here is what I tried:
> > 
> > 
> > ?path-node <- (path-node (path ?path-id)&:(eq ?path-id
> ?*selected-path-id*))
> >                          (node ?node-id)
> >                          (act-classification nil))
> > 
> > 
> > That doesn't work.  But when I do the following:
> > 
> > 
> > ?path-node <- (path-node (path ?path-id)
> >                          (node ?node-id)
> >                          (act-classification nil))
> > (test (eq ?path-id ?*selected-path-id*))
> > 
> > 
> > it works just fine.  And so problem is solved, though I'd like to know
> > why the first way isn't working if you see it.  (Again, I tried it without
> > the ? in front of path-id as well, as your examples seemed to suggest.)
> > 
> >     Thanks,
> >     Willie
> > 
> > 
> > 
> > On Fri, 16 Mar 2001, friedman_hill ernest j wrote:
> > 
> > > 
> > > (get-var) was a kludge to let you refer to globals on rule LHSs at all
> > > -- i.e., to allow you to even use them in expressions like
> > > 
> > > (foo (bar ?a&:(eq a (get-var ?*b*))))
> > > 
> > > Nowadays you can just write
> > > 
> > > (foo (bar ?a&:(eq a ?*b*)))
> > > 
> > > So the get-var function doesn't exist anymore. The ability to directly
> > > match defglobals, something like
> > > 
> > > (defrule foo
> > >     (global ?*b* 37)
> > > 
> > > is something that we have indeed talked about, but I've never
> > > implemented. 
> > > 
> > > 
> > > I think Willie Wheeler wrote:
> > > > Hi all,
> > > > 
> > > >         I am trying to figure out how to match globals on the left-hand
> > > > side.  I searched the archives and found Jess's behavior with respect
> to
> > > > this issue characterized variously as a bug and as a idiosyncracy, and
> I
> > > > even found a message where a "matchable" attribute for defglobal was
> > > > proposed, but there is no mention of a solution.  (Well, there was one
> > > > mention of a get-var function being involved, but I don't see any such
> > > > function in the manual and it doesn't seem to work in the code.)
> > > > 
> > > >         Willie
> > > > 
> > > > 
> > > 
> > > 
> > > 
> > > ---------------------------------------------------------
> > > Ernest Friedman-Hill  
> > > Distributed Systems Research        Phone: (925) 294-2154
> > > Sandia National Labs                FAX:   (925) 294-2234
> > > Org. 8920, MS 9012                  [EMAIL PROTECTED]
> > > PO Box 969                  http://herzberg.ca.sandia.gov
> > > Livermore, CA 94550
> > > 
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
> > in the BODY of a message to [EMAIL PROTECTED], NOT to the
> > list (use your own address!) List problems? Notify
> [EMAIL PROTECTED]
> > ---------------------------------------------------------------------
> > 
> 
> 
> 
> ---------------------------------------------------------
> Ernest Friedman-Hill  
> Distributed Systems Research        Phone: (925) 294-2154
> Sandia National Labs                FAX:   (925) 294-2234
> Org. 8920, MS 9012                  [EMAIL PROTECTED]
> PO Box 969                  http://herzberg.ca.sandia.gov
> Livermore, CA 94550
> ---------------------------------------------------------------------
> To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
> in the BODY of a message to [EMAIL PROTECTED], NOT to the
> list (use your own address!) List problems? Notify
> [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> 
> ---------------------------------------------------------------------
> To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
> in the BODY of a message to [EMAIL PROTECTED], NOT to the
> list (use your own address!) List problems? Notify [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> 



---------------------------------------------------------
Ernest Friedman-Hill  
Distributed Systems Research        Phone: (925) 294-2154
Sandia National Labs                FAX:   (925) 294-2234
Org. 8920, MS 9012                  [EMAIL PROTECTED]
PO Box 969                  http://herzberg.ca.sandia.gov
Livermore, CA 94550

---------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the
list (use your own address!) List problems? Notify [EMAIL PROTECTED]
---------------------------------------------------------------------

Reply via email to