I vote no on having 'else'.

The switch statement is exactly the same as the "xorGroup" concept in DROOLS 
(aka mutually exclusive rules). In DROOLs 3, how do you make a set of rules to 
be part of an XOR group ?

Regards,
Alan Ho 

-----Original Message-----
From: Dmitry Goldenberg [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, April 11, 2006 7:57 AM
To: [email protected]
Subject: RE: [drools-user] How to express conditional logic via DRL - ?

This is actually the reasong I went through- wanting to use Drools as a script 
execution framework.  Ideally, I'd like to see support for IF-THEN-ELSE and 
possibly SWITCH.  As of now, I don't see a need for any other "procedural" 
constructs but it seems to me that IF-THEN-ELSE would be an immediate need for 
our users.  It would be nice to have explicit support for it, rather than a 
whole chapter in our doc explaining how to achieve it with multiple rules in a 
rule-set.
 
Thanks,
- Dmitry

________________________________

From: Mark Proctor [mailto:[EMAIL PROTECTED]
Sent: Tue 4/11/2006 10:46 AM
To: [email protected]
Subject: Re: [drools-user] How to express conditional logic via DRL - ?



Unfortunately I'm finding that many people just cannot adjust to the 
declarative and coupletely decoupled nature of a rule engine. The end result is 
that Drools is used as a script execution framework.

Felipe Piccolini wrote:
> Mark,
>
>   I could vote on this, I would vote no to the 'else'. The declarative
>   thing about rule engines is that: no procedural code. So if you
>   wanna do an 'else' condition you should re-think your rule and chack
>   if its well writen. Of course this is just MHO.
>
>   :)
>
> Tuesday, April 11, 2006, 6:09:22 AM, you wrote:
>
>  
>> I thought about adding 'else' but I couldn't decide on the best way 
>> to implement it, as there are several possabilities. Also 'else' is 
>> not considered declarative, so its a kinda of code smell. I'll llook 
>> into this again in 3.1
>>    
>
>  
>> Mark
>> Geoffrey Wiseman wrote:
>>    
>>> On 4/10/06, Dmitry Goldenberg <[EMAIL PROTECTED]> wrote:
>>>  
>>>      
>>>> What is the timeframe for 3.1?  Else/else if are very important to 
>>>> what we're trying to do.
>>>>
>>>> I can see how I can to the following with the method described by
>>>> Geoffrey:
>>>>
>>>> if (A) then B else if (C) then D endif
>>>>
>>>> I also want to be able to do the following:
>>>>
>>>> if (A) then B else D endif
>>>>
>>>> I imagine that the rule would have to be written as a combo of
>>>>
>>>> if (A) then B endif
>>>> if (!A) then D endif
>>>>
>>>> so that the conditions are complimentary...
>>>>
>>>>    
>>>>        
>>> Indeed, yes, that's how you'd handle it.
>>>
>>> If it does make it into 3.1, that's a good thing in terms of 
>>> supporting the way people think, talk, and work in other languages, 
>>> but fundamentally, the same capabilities are there now -- they just require 
>>> more typing.
>>>
>>>   - Geoffrey
>>> --
>>> Geoffrey Wiseman
>>>
>>>  
>>>      
>
>
>
> --------------------------
> Felipe Piccolini
> [EMAIL PROTECTED]
>
>
>
>  



Reply via email to