Was thinking of something like this:
declare dsl ApplicantValidity
mapTo : invalidAgeDSLRule
when : Applicant is younger than $age
then : Applicant is not valid
mapTo: validAgeDSLRule
when : Applicant is older than $age
then : Applicant is valid
end
rule invalidAgeDSLRule
when
$a : Applicant( $age : age < ? )
then
$a.setValid( false );
end
rule validAgeDSLRule
when
$a : Applicant( $age : age > ? )
then
$a.setValid( true );
end
would be following declaring new facts somewhat and you can benefit from
any attributes set on the dsl mapTo rules as well ...any thoughts ??
Thanks.
On 12/6/10 3:09 PM, Wolfgang Laun wrote:
Well, it won't give you a proper line number for an error
that's
somewhere within a single range of \-escaped
newlines, but I reinsert the "stolen" newlines at the earliest
possible moment. This ensures that line numbers
in error messages are correct w.r.t. the start of a logical line.
-W
On 6 December 2010 21:00, Michael Neale <michael.neale(a)gmail.com
<mailto:michael.neale@gmail.com>> wrote:
only objection I would have is that the error numbers in the
expanded syntax (should there be compile errors) would not line up
with the source (which makes it slightly more annoying than it
already is to sort out).
But as this thread goes on, perhaps some more holistic thought to
what we want DSLv2 to be like is in order.
On Sun, Dec 5, 2010 at 5:33 AM, Wolfgang Laun
<wolfgang.laun(a)gmail.com <mailto:wolfgang.laun@gmail.com>> wrote:
Currently each entry must be a single line of text. This
results in long lines, especially on the RHS.
I have experimentally inserted a transformation of the DSL
text (in DSLTokenizedMappingFile)
which converts '\'+EOL on the fly to a space. (The passed-in
reader is read into a buffer, '\'+EOL
is translated to space, and EOLs are inserted later to
readjust the line number.) In a text editor,
I can now write, e.g.,
then][][Bb]ook the customer for the flight=\
$f.setAvailable( $f.getAvailable() - 1 );\
update( $f ); \
Booking booking = new Booking(); \
booking.setCustomer( $r.getCustomer() ); \
booking.setFlight( $f ); \
insert( booking );
Of course, the DSL editor will not preserve this, but future
development might provide more
convenient editing there, too.
Any objections?
-W
_______________________________________________
rules-dev mailing list
rules-dev(a)lists.jboss.org <mailto:rules-dev@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-dev
--
Michael D Neale
home:
www.michaelneale.net <
http://www.michaelneale.net>
blog:
michaelneale.blogspot.com <
http://michaelneale.blogspot.com>
_______________________________________________
rules-dev mailing list
rules-dev(a)lists.jboss.org <mailto:rules-dev@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-dev
_______________________________________________
rules-dev mailing list
rules-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev