MetaBlogging and HyperSpec

I wrote this one as I waited for the bus this morning. I mean, of course it\’s not very difficult to do a simple text transformation, but I\’m pretty surprised at the ease of writing WordPress plug-ins. And of course, it\’s only 90% done … there\’s still 90% to go. The 90% that would prevent other people who try to use it from hating me. I\’m never very good at that part. I\’m an itch-scratcher more than anything. Once my itch is scratched, I don\’t really think about scratching everyone else\’s so much.

Some of this works, like

sh: /home/pfeilgm/bin/enscript: No such file or directory

and now I can talk about DESTRUCTURING-BIND and even *FEATURES* — giving everyone some context, but there are plenty of HyperSpec pages that contain multiple definitions, like ECASE , which don\’t work yet. Also, I have to indicate whether it\’s a function, variable or macro … another reason that SchemeLanguage still calls out to me.

I have them output in all caps because it\’s traditional, but the links have a \”hyperspec\” class, so they can be styled however. Hooray for making WordPress more usable. Too much meta-blogging in a row, though. Real posts returning soon.

I just looked at Cliki, thinking, \”oh, they have HyperSpec linking, let me see how they do it.\” My assumption was that with their syntax, #H(NCONC), they were taking advantage of the fact that they\’re inside lisp, checking to see whether the name is bound to a function or variable. But that still doesn\’t solve the problem of multiple symbols defined in the same page. I was wrong, though. Here\’s an excerpt from the code:

sh: /home/pfeilgm/bin/enscript: No such file or directory

Yeah, that\’s right … everything, in an alist. I think that within lisp, my approach would be to have the system deduce the prefix (\”mac\”, \”fun\”, etc.) and then have an alist of special cases, rather than a comprehensive alist like Cliki does. I don\’t think there\’s any way that I\’ll put such a list in my plugin — too damaging to my sensibilities. What it says to me is that the HyperSpec needs to be fixed. If you can\’t reliably refer to it programmatically from Lisp itself, what hope does anyone else have?

Comments are closed.