Ha! I has written a lisp! My project to write CSX, a dynamic lisp-like CSS pre-processor is now bearing fruit. I've worked in Lisp on and off over the years but I've never implemented one before now (something that I suppose most Comp. Sci. students do before getting a BSc these days.)
Anyway, the parser parses and the reducer reduces and it all seems to work. I'm sure I'll find a few more bugs yet, but I'm now convinced that my design is correct and all I have to do is write about a dozen base functions for it to be a usable tool.
At that point I'll 'finish' converting my CSS script over to CSX and it will provide the feature that CSS should have natively built in: value indirection. (ie variables). When I'm done I'll have successfully abstracted the color scheme away from the structural components of the new website (doesn't that sound like something CSS was supposed to provide?).
After that, I'll need to work on the perl script that builds the structures, but THAT should go much faster. That I've done before.
Anyway, the parser parses and the reducer reduces and it all seems to work. I'm sure I'll find a few more bugs yet, but I'm now convinced that my design is correct and all I have to do is write about a dozen base functions for it to be a usable tool.
At that point I'll 'finish' converting my CSS script over to CSX and it will provide the feature that CSS should have natively built in: value indirection. (ie variables). When I'm done I'll have successfully abstracted the color scheme away from the structural components of the new website (doesn't that sound like something CSS was supposed to provide?).
After that, I'll need to work on the perl script that builds the structures, but THAT should go much faster. That I've done before.