Prev: [ANN] Filtered functions
Next: Filtered functions.
From: W. James on 17 Dec 2009 21:05 Kenneth Tilton wrote: > In fact, the application that broke Cells2 and forced the data > integrity of Cells3 was a Robocup client (text commands one way, > sensory data the other way, all encoded as sexpers and shunted over a > socket). Filed under "Stupid COBOL-LISP tricks". --
From: Kenneth Tilton on 17 Dec 2009 23:31 W. James wrote: > Kenneth Tilton wrote: > >> In fact, the application that broke Cells2 and forced the data >> integrity of Cells3 was a Robocup client (text commands one way, >> sensory data the other way, all encoded as sexpers and shunted over a >> socket). > > Filed under "Stupid COBOL-LISP tricks". > Ronny, here's another signup for your Parasites Attaching Themselves to Coolness club, aka Kenny's Killfile Klub. kt -- http://thelaughingstockatpngs.com/ http://www.facebook.com/pages/The-Laughingstock/115923141782?ref=nf
From: Pascal Costanza on 22 Dec 2009 07:19 On 05/12/2009 23:47, Raffael Cavallaro wrote: > On 2009-12-05 17:18:27 -0500, Raffael Cavallaro > <raffaelcavallaro(a)pas.espam.s.il.vous.plait.mac.com> said: > >> I'm thinking of a language construct like "whenever" >> >> (whenever :any foo (bar :newval-even (evenp newval)) >> (do-something-in-response ...)) > > You could also add :priority which would be used to order the filter > specifications: > > (whenever :any foo (bar :newval-even (evenp newval) :priority high) > (...)) The idea is neat, and I know everybody would want to program in such a style if it were possible. However, the idea breaks exactly at this point: You need an ordering of your clauses, but there is no obvious way to order them when different otherwise unrelated parts can contribute code to the same trigger... Pascal -- My website: http://p-cos.net Common Lisp Document Repository: http://cdr.eurolisp.org Closer to MOP & ContextL: http://common-lisp.net/project/closer/
From: Raffael Cavallaro on 22 Dec 2009 09:48 On 2009-12-22 07:19:05 -0500, Pascal Costanza <pc(a)p-cos.net> said: > You need an ordering of your clauses, but there is no obvious way to > order them when different otherwise unrelated parts can contribute code > to the same trigger... Why wouldn't setting explicit priorities work? If these are equal, then the first rule defined takes priority over any equal priority rules defined later (or some other well defined ordering). -- Raffael Cavallaro
From: Pascal Costanza on 22 Dec 2009 11:09
On 22/12/2009 15:48, Raffael Cavallaro wrote: > On 2009-12-22 07:19:05 -0500, Pascal Costanza <pc(a)p-cos.net> said: > >> You need an ordering of your clauses, but there is no obvious way to >> order them when different otherwise unrelated parts can contribute >> code to the same trigger... > > Why wouldn't setting explicit priorities work? If these are equal, then > the first rule defined takes priority over any equal priority rules > defined later (or some other well defined ordering). Sure, but at least you need an agreement on the range of possible values. Now, what happens if there is a method provided by party A with priority 2, and a method provided by party B with priority 3, and you are party C that wants to add a method exactly in between? What you need in such cases is a central coordination where you can rearrange the priorities, with some form of (possibly restricted) global knowledge. That's exactly what filtered functions (and related approaches) do: You get a central point of coordination in the define-filtered-function form. Pascal -- My website: http://p-cos.net Common Lisp Document Repository: http://cdr.eurolisp.org Closer to MOP & ContextL: http://common-lisp.net/project/closer/ |