« Getting Started | Main | Wilbur mentioned in a C|Net article! »

2005-03-26

Wilbur manual - finally?

I have finally started writing a proper manual for Wilbur. Sure, there has been a brief description of the APIs, but it has not really been updated since the first release (and it wasn't really up to date even then). I was thinking of something that combines a reference manual and a "cookbook".

I have always liked the look and style of CLtL2, and I would like to mimic that to the extent possible. I found the LaTeX sources of CLtL2, but these were produced for some old version of LaTeX (so old, in fact, that even when LaTeX2e reverts to the "compatibility mode" the files still won't compile). I don't grok TeX enough to be able to figure out (with reasonably small effort) how to fix some of the macros, so I wrote my own (those of you who think it is hard to read someone else's Perl code, try reading TeX style definitions...).

Anyway, with my new "defun", "defmethod" etc. LaTeX environment definitions, I am underway. Now I just need a little Common Lisp program to take the function, method etc. signatures and turn them into a skeletal draft of the reference manual...

Posted by ora at 08:00

Comments

Wow, writing a manual for Wilbur - I'm looking forward to perhaps understanding the idiosyncracies that I know I've missed.

Posted by: Barbara at March 28, 2005 01:36 PM

I look forward to both the manual and the inevitable Lisp -> LaTeX parser!

Hiding in my CL-AJAX library is a little bit of code you might be interested in: in order to generate a Javascript function (with arguments) from a given Lisp function, I had to interrogate the function to get the arguments, and split them into required, optional, rest etc. lists. It shouldn't be much effort to pull the required functions out of CL-AJAX and write a wrapper to spit out LaTeX from the argument lists...

http://cliki.net/cl-ajax has a link to the archive (0.1.8 is the most recent as I write this).

HTH, -Rich

Posted by: Richard Newman at March 28, 2005 06:56 PM

Actually, come to think of it I've got a lot of Wilbur-related code which I should really contribute back. It does nobody else any good sitting on my HDD!

Admittedly, most of it will probably be obsoleted by Wilbur2, but hey :)

Maybe I'll spend tomorrow cutting up code...

Posted by: Richard Newman at March 28, 2005 06:58 PM

Cool. Any code is always appreciated.

Posted by: Ora Lassila at March 28, 2005 08:42 PM

Ora, Please feel free to have a look at

http://www.holygoat.co.uk/projects/wilbur-ext/wilbur-ext.lisp

It contains some of the little utilities I've been using with my own Wilbur-related projects. I've got a bit more (this was my "basics" file), such as serialisation, but I expect most of it won't be of public use.

I have a partial test suite for this little lot, but it depends on CLUnit.

I hope you find some of it of interest!

Posted by: Richard Newman at March 29, 2005 07:06 AM

Ora, Furthermore (productive lunchtime for me!) I've factored out my function parsing code, and written an example outputter:

? (example-output #'mapcar)

Function name: MAPCAR

Arguments: Argument type: &REST MORE-LISTS Argument type: Required FUNCTION, LIST NIL ?

It might be of use to you with your doc generator.

http://www.holygoat.co.uk/projects/wilbur-ext/func.lisp

Posted by: Richard Newman at March 29, 2005 07:22 AM