<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Rich,<br>
<br>
We do need a series of tutorials, one of those needs to be a complete
idiots guide to pattern matching working up into more practical and
applied side of pattern matching. Something that works though a number
of examples, step by step, showing the input and the output, and
discussion cross product problems and caveats as they arrise. I think
the Clips user manual has something like this too, but mostly focused
on ordered facts, which we don't support yet. So maybe do a blend of
stuff that combines my points below, the tutorials I references in the
previous email, the clips tutorials, and any other good ones you are
aware off. If you like I can add you as a publisher to the blog and you
can do them in a "series" fashion over time. We can then take this
series and eventually add it to the manual. I created a Usage Patterns
page in the wiki,
<a class="moz-txt-link-freetext" href="http://wiki.jboss.org/wiki/Wiki.jsp?page=UsagePatterns">http://wiki.jboss.org/wiki/Wiki.jsp?page=UsagePatterns</a>, its just a
bunch of headers, but we can expand those and maybe each would make a
great entry in the pattern matching series. I guess the thing he is to
focus on pattern matching and avoid talking about agendas, conflict
resolution and execution flow control.<br>
<br>
Propositional Logic<br>
1) Pattern matching with literal constraints<br>
2) Pattern matching with variables, touching on simple cross products<br>
3) more complex variable pattern matching and cross products<br>
4) using pattern matching to constraint to values in a specific order.
Fibonacci calculate rule is a great example here, but can also do a
simple one where you always make sure application a) is older than
applicant b)<br>
<pre>        when
                f1 : Fibonacci( s1 : sequence, value != -1 )
                f2 : Fibonacci( s2 : sequence == (s1 + 1 ), value != -1 )
                 f3 : Fibonacci( sequence == (s2 + 1 ), value == -1 )        
Note at this stage we haven't touched any conditional elements such as 'and', 'or' and 'eval' or the more complex field
constraints return vlaue and predicate. Maybe you can figure out how to bring those in as part II in the series, or maybe
part III after you work through first order logic examples, see below.

First Order Logic
1) Not/Exists
2) Forall
3) Collect/Accumulate
</pre>
<br>
<br>
Rich Halsey wrote:
<blockquote cite="mid:000601c7624a$2c8bcd50$210110ac@BUBBA" type="cite">
  <meta http-equiv="Content-Type" content="text/html; ">
  <meta content="MSHTML 6.00.6000.16414" name="GENERATOR">
  <style></style>
  <div>&nbsp;</div>
  <div><font face="Arial" size="2">Mark,</font></div>
  <div>&nbsp;</div>
  <div><font face="Arial" size="2">I'm going to give some serious
thought to doing the tutorial for JBoss Rules (as you suggested). I
cannot promise anything definite at this time, but I will definitely
look into it.</font></div>
  <div>&nbsp;</div>
  <div><font face="Arial" size="2">Rich Halsey</font></div>
  <div>&nbsp;</div>
  <div>&nbsp;</div>
  <div>&nbsp;</div>
  <div><font face="Arial" size="2">"NON ILLEGITAMATES CARBORUNDUM"</font></div>
  <div>&nbsp;</div>
  <div><font face="Arial" size="2">....God grant me...<br>
The senility to forget the people I never liked<br>
The good fortune to run into the ones that I do<br>
And the eyesight to tell the difference."<br>
  </font></div>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
rules-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-dev">https://lists.jboss.org/mailman/listinfo/rules-dev</a>
  </pre>
</blockquote>
<br>
</body>
</html>