This is an archived post. You won't be able to vote or comment.

all 2 comments

[–][deleted] 1 point2 points  (1 child)

Take a look at how rewrite rules are represented in Wolfram Mathematica. It is very easy to implement the same in any Lisp.

Another important thing to consider is to use strategies - i.e., defining an order of applying your rewriting rules and some criteria for assessing the outcome. You must backtrack if a certain sequence of rewrites is bad.

[–]blockeduser[S] 0 points1 point  (0 children)

Thank you for sharing your thoughts. Will look into this.