Hello Jim,
Thanks for the long response. I looked at the papers; I think they are 
worth studying. I found that I can progress most quickly modeling on 
Mathematica. The design is fairly simple and consistent. Of course the 
documentation is vague in some places, but so far, it is not a problem. Of 
course, even if you know logically what the rules should do, there is still 
the matter of building data structures and applying them.  I am more 
concerned now in getting correct logical behavior than efficient 
application of rules. I want to see a cohesive system. A lot of risk is 
reduced, because we know Mathematica works. But, it is good to develop 
ideas about efficient implementation at the same time, and there is no 
avoiding it when doing commutative matching.

I installed sympy, but have not played with it yet, but I definitely will. 
I've looked just a bit at the code. If you have any experience optimizing 
pattern matching, or other resources, I'd like to hear about it.

Another resource is Richard Fateman's  mma4max 
<http://www.cs.berkeley.edu/~fateman/lisp/mma4max/>, which I see has 
updates since I last built it. It aims more or less to implement mma in 
common lisp. In fact it has a Julia-compatible license and a complete 
parser written in common lisp. IIRC the comments show that the pattern 
matcher is not perfect, but I think it is complete.

--John
On Monday, January 26, 2015 at 3:07:22 AM UTC+1, [email protected] 
wrote:
>
> Hi,
>
> Here is some code I have been working on. It is for symbolic computation 
> based on pattern matching.
> If you find it interesting, any feedback is welcome!
>
> https://github.com/jlapeyre/SJulia
>
> --John
>

Reply via email to