
On Wed, Aug 19, 2009 at 11:38 PM, Chung-chieh
Shan
Thanks! Another small change that might shorten the code is to use Data.Map for linear combinations:
I chose to use association lists because I did not want to explain the adjust function one would use to implement the add function. I thought it would make the code cryptic for beginners. Your suggestion does raise an interesting question. When is it faster to to use associations list instead of Data.Map. For some applications of the matcher, the number of variables is usually, but not always small, like less than three, so association lists may actually be faster. I never know the number of keys it takes to make the overhead of Data.Map worthwhile. I also never know the number elements it takes to make the overhead of an array worthwhile over a list in applications that do a lot of indexing. John