Schatchen (programs m1 and m2) existed before defmatch, tellsimp, etc.
defmatch etc was a reaction to that program, written with the intention of
applying, to some extent, the notion of canonical forms and "rigor" to
matching.
The intention for defmatch was for the user to express the _semantics
_of the
expression to be matched, rather than its syntax.
The distinction between syntax and semantics is sometimes unclear to users
composing patterns. In some cases it is a tough call.
As an example, Moses used his pattern matcher to see if an expression
was of the
form a* f'/f for some expression or product of expressions f. Sometimes
this can be done with a pattern.
Sometimes it cannot be done that way because the matching process Moses
wrote
only knows how to pick out explicit factors, if they are there.
But not if they are in some other form.
More fun, less rigor.
There is always room for another cut through the question of how to provide
matching.
On 9/13/2013 1:07 PM, Robert Dodier wrote:
> On 2013-09-13, Raymond Toy <toy.raymond at gmail.com> wrote:
>
>> Or maybe we could expose the schatchen matcher that is used internally
>> by maxima for the indefinite integration and special integration
>> routines. I don't know if it's better or worse than the matcher we
>> have now, though, but it can match things like a*x^r1*(c1+c2*x^q)^r2.
>> Don't know if the current matcher can do that.
> I think it would be interesting to expose Schatchen. If I'm not
> mistaken its capabilities are somewhat different than tellsimp &
> friends. Maybe tellsimp, etc could punt to Schatchen for some
> expressions. I don't know enough about Schatchen to say for sure.
>
> best
>
> Robert Dodier
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima