[rules-users] LHS reuse?
Mark Proctor
mproctor at codehaus.org
Wed Jun 18 18:17:18 EDT 2008
Barry Kaplan wrote:
> I have a set of rules that /all/ contain the following condition...
>
> positionQuantityAllocatedToLegs :
> Integer(intValue < position.quantity)
> from accumulate( StrategyLeg(priority > 1, instrument == equity,
> longShort ==
> LongShort.LONG, legQuantity : quantity )
> legsQuantity(legQuantity) )
>
> ...the only difference being the values for the StrategyLeg.
>
> It would be very nice if there was some way to create reusable LHS
> constructs, say maybe something like:
>
> positionQuantityAllocatedToLegs : legsAllocation(1, position.quantity,
> LongShort.LONG)
>
> Where 'legsAllocation' is replaced with the condition above. Is there such a
> mechanism, or need I simply live with large amounts of duplication in my
> LHS?
>
You can use DSLs for this already, which are like sentence templates and
rules already allow mixed DSL and normal rules. So create a DSLs that
encompass the shared bits and reuse them in your drl.
It would be nice to see rule extensions and rule "mixins" for code
reuse. But unless it comes from the community its not going to happen
any time soon. I'd be happy to chat to anyone on irc on how to do these
things, if someone has the time and wants to give it a go.
> thanks!
>
>
More information about the rules-users
mailing list