I find reinventing wheels a good workout. Though
often I'll avoid real work and just attempt to do something I've never done before just to improve me skills. Many times it is inspired by a post here. Recently, I got the idea of
parsing expressions in my head and thought, how could you do that? (Without a module) and I found it very challenging. Before you know it I was thinking "Hmm, I might as add variables.", then "Might as well add functions", etc.
Figuring out how to parse out the constructs, associate left, and add in precedence kept me busy for a couple of days. I learned a lot from it and it's really got me thinking on language implementation. Oddly enough when I was examining the Dump of my "op tree" it dawned on me it looked like lisp with brackets instead of parens.
While I hate the feel of Lisp , it gave me some appreciation of why Lisp is the way it is. I certainly feel I learned alot from it.
-Lee
"To be civilized is to deny one's nature."